python3 requests 各种发送方式详解
作者:hgdzw 发布时间:2021-04-06 09:03:22
标签:python,requests,发送
大凡人世间的痛苦,多是因放不下有时候我常想,痛苦,该是时光刮给生命的一场飓风吧生活,本就是以这样一种特别的方式,掀起遮盖的一切,让你看到人生的真相。
一、什么是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


猜你喜欢
- 1.按需加载第三方库例如 ElementUI、lodash 等a, 装包npm install babel-plugin-component
- 本文实例讲述了PHP自定义函数格式化json数据的方法。分享给大家供大家参考,具体如下:<?php /**
- 目录1. 前言2. 实战一下2-1 进入虚拟环境,创建一个项目及 App2-2 创建模板目录并配置 set
- 今天填一个坑,俄罗斯方块!!俄罗斯方块的移动不难实现,但是旋转就不太容易实现,究其原因是因为Python中没有数组这种数据结构,所以不能用矩
- SHOW STATUS 直接在命令行下登陆MySQL运行SHOW STATUS;查询语句,详细如下图 同样的语句还有SHOW V
- 有时候我不需要网络立即执行更改的数据。请问如何做到? 用下列办法即可延时执行:<%@import&
- 在 Python 中,我们会经常听到上下文管理器(Context Manager),那我们探讨下这是什么,又有什么功能。在 Python 中
- 【原文地址】New C# "Orcas" Language Features: Automatic Properties
- 通过ip2region解析IP获得地域信息目标,从给的读取给的ip地址文件解析出ip地域名并输出CSV文件,我选用的是开源ip2region
- 这次这个真的是干货哦,昨晚弄了半晚上,,,,从8点吃完饭就开始写,一直到了快12点才弄好,,,新手,伤不起呀。。。。先简单的说下吧,百度提供
- 目录主要解决的问题一、后端返回的数据,提交到后端的数据格式如下:二、vue前端代码如下:总结主要解决的问题1、vue在循环的时候需要动态绑定
- 需求每天往一个表里面插入两条数据,但日期不同INSERT INTO test(`id`, `art_training_institution
- 目录简介时间分类TimestampDatetimeIndexdate_range 和 bdate_rangeorigin格式化PeriodD
- 本文实例讲述了Python3.5变量、数据结构、条件和循环语句、break与continue语句。分享给大家供大家参考,具体如下:1、变量:
- 最近在处理文本文件时,遇到编码格式和换行符的问题。基本上都是GBK 和 UTF-8 编码的文本文件,但是python3 中默认的都是按照 u
- 网页中使用flash可以增强页面的动态交互效果,特别是用flash来制作广告,效果更好。经常使用flash的人,可能就碰到了flash会遮住
- Firefox 2.0 在对 XML 的支持方面有几个重要的改进。目前它的用户部署如日中天。了解 Firefox 2.0 XML 特性的改进
- MySQL4.1以前版本服务器只能使用单一字符集,从MySQL4.1版本开始,不仅服务器能够使用多种字符集,而且在服务器、数据库、数据表、数
- Python使用for实现无限循环# 方法1.1:借助循环遍历列表的cycle方法from itertools import cyclefo
- 用python连接Oracle是总是乱码,最有可能的是oracle客户端的字符编码设置不对。本人是在进行数据插入的时候总是报关键字"