python3 requests 各种发送方式详解

时间:2022-06-07 19:27:30

大凡人世间的痛苦,多是因放不下有时候我常想,痛苦,该是时光刮给生命的一场飓风吧生活,本就是以这样一种特别的方式,掀起遮盖的一切,让你看到人生的真相。

一、什么是requests,怎么安装

requests 是python 的一个模拟发送请求的库, 基本上调用别人接口的时候,这个是现在主流
安装的话 直接pip就行了

pip install requests

二、requests 模块的使用

我们通常进行请求之前都会先去postman上面去模拟一遍,看是否请求的通,然后再进行接口模拟,下面的介绍都是一个postman的图 之后就是用请求的代码这样看起来比较直观一点

2.1 get请求(最基本的请求)

python3 requests 各种发送方式详解

直接进行一个get请求的代码是这样的

# 导入模块
import requests
# 定义请求地址
url = "http://www.baidu.com/"
# 定义自定义请求头
headers = {
  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}
# 定义 GET 请求参数
params = {
  "kw":"dzw"
}
# 使用 GET 请求参数发送请求
response = requests.get(url,headers=headers,params=params)
# 获取响应的 html 内容
html = response.text

2.2 post请求 form-data 格式的

python3 requests 各种发送方式详解

这样是post 表单传参,这样基本上也用来文件上传

# 导入模块
import requests
# 定义请求地址
url = "https://dzw.news.qq.com/pet/send"
# 定义 fomedata 请求参数
m = MultipartEncoder(
        fields={"uid":"4054942","gift":"4"}
    )
# 定义自定义请求头 并且制定类型
headers = {
  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
  "Content-Type":m.content_type
}
# 使用 POST 请求参数发送请求
response = requests.post(url,headers=headers,data= m)
# 获取响应的 html 内容
html = response.text

2.3 post 请求上传文件和别的参数

python3 requests 各种发送方式详解

这里是文件和dirCode 两个参数 在post请求的时候 就要把他单独来传

# 导入模块
import requests
# 定义请求地址
url = "http://127.0.0.1:8183/oss/uploadFile"
headers = {
	# 注意这里不能指定  Content-Type
  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}
# 这里指定dirCode 别的参数
m = {
    "dirCode": "1002"
    }
    
# 这里指定文件
files = {"file": open("站点基础数据录入模板.xlsx", "rb")}  

# 使用 POST 请求参数发送请求
    response = requests.post(url,headers = hearders, data= m,files = files)
# 获取响应的 html 内容
html = response.text

2.4 post 请求 json 形式的(常用)

python3 requests 各种发送方式详解

这个是最常用的json形式的传参

# 导入模块
import requests
# 定义请求地址
url = "http://127.0.0.1:8183/notice/test"
headers = {
	# 这里指定  Content-Type 是json 格式的
	"Content-Type":"application/json",
  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}
# 指定参数
    data = {
        "id":"dzw",
        "recipientPeopleList":["d6576263-4868-4420-a91b-17f3993582ff","e332a43a-9ab5-4827-a5f8-92acb2469bb9","d3cd8347-5a08-4c22-99ed-df153cbe6f41"]
    }
# 发起请求 注意 data 是放在json 里面的
response = requests.post("http://127.0.0.1:8183/notice/test",headers = hearders, json = data)
# 打印参数
print(response.text)

三、总结

在使用这个库进行请求的时候,经常会忘了之前的哪种请求怎么用的,然后踩了一些坑 正好这里写下来记录一下

到此这篇关于python3 requests 各种发送方式的文章就介绍到这了,更多相关python requests发送内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/hgdzw/article/details/116200104