python3 requests 各种发送方式详解
作者:hgdzw 时间:2021-04-06 09:03:22
大凡人世间的痛苦,多是因放不下有时候我常想,痛苦,该是时光刮给生命的一场飓风吧生活,本就是以这样一种特别的方式,掀起遮盖的一切,让你看到人生的真相。
一、什么是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)
三、总结
在使用这个库进行请求的时候,经常会忘了之前的哪种请求怎么用的,然后踩了一些坑 正好这里写下来记录一下
来源:https://blog.csdn.net/hgdzw/article/details/116200104
标签:python,requests,发送
0
投稿
猜你喜欢
Python 正则 re.compile 真的必需吗
2021-12-27 17:12:24
python 把列表转化为字符串的方法
2023-06-14 20:35:48
浅谈webpack打包过程中因为图片的路径导致的问题
2024-04-28 09:42:38
golang 数组去重,利用map的实现
2024-04-27 15:37:49
python实现定时发送qq消息
2021-08-17 00:10:34
基于Python编写一个ISBN查询工具
2022-02-22 09:43:21
浅谈vuex的基本用法和mapaction传值问题
2024-06-05 09:18:21
python通过装饰器检查函数参数数据类型的方法
2022-07-22 14:11:08
Go语言并发编程 互斥锁详情
2024-02-02 04:58:30
Python判断对象是否相等及eq函数的讲解
2022-04-13 03:15:22
基于OpenCV的路面质量检测的实现
2023-12-29 14:52:52
Python数据结构之栈详解
2021-01-07 01:12:36
Python 获取主机ip与hostname的方法
2021-05-13 09:30:30
mysql-connector-java.jar包的下载过程详解
2024-01-15 18:58:40
Vue前端判断数据对象是否为空的实例
2024-05-02 16:53:14
Python实现Sqlite将字段当做索引进行查询的方法
2021-06-05 13:31:51
AI:如何训练机器学习的模型
2023-01-16 13:18:49
设定php简写功能的方法
2024-05-13 09:25:21
分享Pycharm中一些不为人知的技巧
2023-10-04 04:52:54
通过session在ASP中改善动态分页的性能
2007-09-11 14:00:00