1、application/x-www-form-urlencoded
Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data
key_1中argument以参数传递进去
d = {'key_1': argument, 'key_2':2, 'key_3':''}
header = {'content-type':'application/x-www-form-urlencoded'}
请求格式如下:
r = requests.post(url, headers=header, cookies=cookie, data =d)
r = r.json() 获取返回结果
print (r) 打印结果,查看请求是否成功
2、application/json
header = {'content-type':'application/json'}
application/json 将json串传给requests.post()的json参数
j = {
"key_1": 1,
"key_2": 2,
"key_3": ""
}
r = requests.post(url, headers=header, cookies=cookie, json =j)
r = r.json()
print (r) 打印结果,查看请求是否成功
一、post请求及响应详解
返回结果:
大家看,其实通过post发送请求很简单
下面再讲讲返回信息的具体内容
大家看,其实有很多的返回值参数,其实我们实际中能用到的并不多,我下边一一列举出来了
response.json():返回信息的格式是json,应为我们请求的时候是json格式,返回的也是一个json,如果返回报错,应该是开发的接口出错了
response.text:如果response.json,可以使用text调试一下,看看具体的返回内容是什么,这里看到的都是字符串了
response.status_code:返回的http状态码,200是成功,404是未找到接口路径,500是服务器错误,等等
response.url:返回请求时的url地址
response.headers:返回服务器给你的响应header
response.cookies:返回服务器给你的cookies,这是一个多么好的获取cookie的方法啊,
response.content:同response.text是一样的
二、post请求中的其他参数
复制
import requests
res = requests.post(url="url",data="body",timeout=30,verfiy=False)
print(res.json())
url:请求的全路径地址,一定是要完整的路径哦
data:请求的内容,如果是json的格式,最好使用json.dumps,反序列化一下,避免格式错误,如果是其他格式,就都是字符串了
timeout:设置超时时间,这样我们在自动化测试和爬虫的时候,当达到了设置的超时时间,我们的程序就退出不会一直等待了,可以做其他操作了
verfiy:如果请求的接口是https协议,这个参数就很好用了,如果设置该参数为True,那么我们的脚本就是要配置CA证书,建议参数值为False,好用又简单
好了,post的请求详解就这些了,欢迎大家点赞留言,我会给大家解答疑问的