一、post请求及响应详解
# -*- coding: utf-8 -*-
#引入requests库
import requests
#设置函数,抿成send_requests
def send_requests():
#请求地址
url = 'http://httpbin.org/post'
#请求数据,一定是个双引号的字典形式
body = {"key1": "value1", "key2": "value2"}
#请求头
header={
#设置连接请求类型为json
"Content-Type": "application/json",
#token,这里使用的是postman
"Postman-Token": "0f7408f7-9869-48ba-9433-871bf4b6f560",
#用户请求的代理,建议请求header中要加上,避免服务端接口有反爬虫设置
"User-Agent": "PostmanRuntime/7.28.1"}
#使用requests.post发送请求
res = requests.post(url, data=body,headers=header)
#返回请求数据格式为json
return res.json()
#程序的主入口
if __name__ == "__main__":
#实例化函数,并赋值给response
response = send_requests()
#打印结果到屏幕上
print(response)
返回结果:
#返回的请求头
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
#返回数据的长度
"Content-Length": "36",
#连接的数据类型:json
"Content-Type": "application/json",
#请求的主机地址
"Host": "httpbin.org",
#token,这里使用的是postman
"Postman-Token": "0f7408f7-9869-48ba-9433-871bf4b6f560",
#用户请求的代理,建议请求header中要加上,避免服务端接口有反爬虫设置
"User-Agent": "PostmanRuntime/7.28.1",
"X-Amzn-Trace-Id": "Root=1-60dda783-6a28eddc29f6f7941c47b5a4"
},
#返回的数据
"json": {
"key1": "value1",
"key2": "value2"
大家看,其实通过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的请求详解就这些了,欢迎大家点赞留言,我会给大家解答疑问的
网友评论