python3 requests 各种发送方式

2022-10-30 11:38:21

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

一、什么是requests,怎么安装

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

pip install requests

二、requests 模块的使用

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

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

在这里插入图片描述
直接进行一个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 格式的

在这里插入图片描述
这样是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 请求上传文件和别的参数

在这里插入图片描述
这里是文件和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 形式的(常用)

在这里插入图片描述
这个是最常用的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)

三、总结

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

  • 作者:hgdzw
  • 原文链接:https://blog.csdn.net/hgdzw/article/details/116200104
    更新时间:2022-10-30 11:38:21