python3 requests 各种发送方式详解

作者:hgdzw 时间:2021-04-06 09:03:22 

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

一、什么是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)

三、总结

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

来源: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
  • asp之家 网络编程 m.aspxhome.com