主要是自己看滴,记录一下!
四种请求方式:get, post, put, delete
1、get(查询)请求带参数:paramas 是字典格式或字符串(推荐使用字典)
1) 请求地址:http://xxx.com?id=1
参数params = {"id": 1}, 则res = requests.get(url, paramas=params )
2)请求地址:http://xxx.com?id=1,2
参数是params = {"id": "1,2"}, 则res = requests.get(url, paramas=params )(但是需要注意:逗号,会转化成ASCI值2C)
3)请求地址:http://xxx.com?id=1&app=test
参数是params = {"id": 1, "app":"test"}, 则res = requests.get(url, paramas=params )
2、post(新增)请求:
1)参数params是json格式:是json格式的字符串
请求头是headers={"Content-Type":"json"}
res = requests.post(url, json=data, headers=headers)
或
res = requests.post(url, data=json.dumps(data), headers=headers) # 将字典对象转换成json字符串 json.dumps(data)
2)参数params是data格式:是字典对象
请求头是headers={"Content-Type":"application/x-www-form-urlencoded"}
res = requests.post(url, data=data,headers= headers)
3、put请求(修改):
请求地址:http://xxx.com/id=1/ (注意:必须要指定id)
res = requests.put(url, json=data,headers= headers)
4、delete请求(删除):
请求地址:http://xxx.com/id=1/ (注意:1)不需要headers 2)一般情况是没有响应text,只有响应的状态是204)
res = requests.delete(url)
响应对象response中的值:
1、响应中的.encoding : res.encoding
1)查看默认编码 2)设置响应编码格式res.encoding="utf-8"(针对想用文本中的中文)
2、响应中的.status_code : res.status_code
3、响应中的.text : res.text(是字符串格式)
4、响应中的.json() : res.json()(是字典格式)
5、响应中的.headers : res.headers
# res.headers: 通常用来提取服务器返回的token/session
from urllib import parse # 引入拼接url函数
url = parse.urljoin(HOST, excUrl)
6、响应中的.cookies : res.cookies
# res.cookies:通常用来提取cookies(返回的是字典对象)
from requests.cookies import RequestsCookieJar # 引入cookies包
cookies = res.cookies.RequestsCookieJar() # 定义一个cookies对象
cookies.update(res.cookies) # 更新获取到的cookies
7、响应中的.content : res.content(以字节码获取响应信息,包括图片、视频等多媒体格式)
# res.content: 获取到图片信息(url 中必须有img等格式),将获取到图片写入到某个目录, 采用二进制格式
with open("../report/test.png", "wb") as f:f.write(res.content)