python requests库中的post详解,有这一篇可以做爬虫和接口就足够了

python requests库中的post详解,有这一篇可以做爬虫和接口就足够了,第1张

概述上一篇文章,我们详细介绍了http请求的常用方法以及细节,大家可以点击:https://blog.51cto.com/u_13025170/2961690进行观看,这一篇文章让你对整个http请求有更详细的认识,两篇结合看,掌握自动化和爬虫不再是难事话不多说,我们直奔主题,上代码一、post请求及响应详解#-*-coding:utf-8

上一篇文章,我们详细介绍了http请求的常用方法以及细节,大家可以点击:https://blog.51cto.com/u_13025170/2961690进行观看,这一篇文章让你对整个http请求有更详细的认识,两篇结合看,掌握自动化和爬虫不再是难事

话不多说,我们直奔主题,上代码

一、post请求及响应详解
# -*- Coding: utf-8 -*-#引入requests库import requests #设置函数,抿成send_requestsdef 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 requestsres = 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的请求详解就这些了,欢迎大家点赞留言,我会给大家解答疑问的

 

 

 

总结

以上是内存溢出为你收集整理的python requests库中的post详解,有这一篇可以做爬虫和接口就足够了全部内容,希望文章能够帮你解决python requests库中的post详解,有这一篇可以做爬虫和接口就足够了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存