美文网首页
python requests库中的post详解

python requests库中的post详解

作者: 大宝bj | 来源:发表于2021-07-13 19:39 被阅读0次

一、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的请求详解就这些了,欢迎大家点赞留言,我会给大家解答疑问的

相关文章

网友评论

      本文标题:python requests库中的post详解

      本文链接:https://www.haomeiwen.com/subject/pobspltx.html