import requests
#发送get请求
#通过params传递参数:1、字符串 2、字典
# url='https://www.baidu.com'
# stringA=''
# response=requests.get(url=url,params=stringA)
#
# #查看相应
# response.encoding='utf-8' #设置编码格式
# print(response.text)
#post请求
# url='http://httpbin.org/post'
url='https://www.baidu.com'
data={
"key":"value"
}
# r=requests.post(url,json=data)
r=requests.get(url=url)
# print(r.json()) #返回是html的话,就不能用json()获取
#2获取响应状态码
print('响应状态码',r.status_code)
#3获取请求url
print('url',r.url)
#4获取响应字符编码
print('编码格式',r.encoding)
#5获取响应头数据
print('响应头信息',r.headers)
print('content-type',r.headers.get('Content-Type'))
#6、获取响应的cookie数据
print('cookies',r.cookies)
print('提取cookie值',r.cookies.get('BDORZ'))
#7、获取文本形式的响应内容
r.encoding='utf-8'
print('文本响应内容',r.text)
#8、获取字节形式的响应内容
print('字节形式内容',r.content.decode('utf-8'))
请求带header,与上面不带的结果相同
#post请求
url='http://httpbin.org/post' #
# url='https://www.baidu.com'
login_header={
'Content-Type':'application/json'
}
data={
"key":"value"
}
r=requests.post(url=url,json=data,headers=login_header)
# r=requests.get(url=url)
print('json解析',r.json())
获取cookie
import requests
#获取cookie后登录
r=requests.get('https://www.baidu.com')
print(r.cookies)
BDORZ=r.cookies.get('BDORZ')
print(BDORZ)
#登录
login_url='xxx'
login_data={
'username':'xxx',
'passw':'xxx'
}
cookies={"BDORZ":BDORZ}
#其他的请求也要加上cookie
r1=requests.post(url=login_url,data=login_data,cookies=cookies)
print(r1.json())
每次请求都要带cookie,不方便
用cookie每一个请求都要带cookie不方便,就有了下面的session方法
import requests
#创建session对象
session=requests.Session()
r=session.get('https://www.baidu.com')
#登录
login_url='xxx'
login_data={
'username':'xxx',
'passw':'xxx'
}
r1=session.post(url=login_url,data=login_data)
print(r1.json())
关闭session对象
session.close()