【实测】大白话讲requests发送请求的不同参数类型(下)

简介: 【实测】大白话讲requests发送请求的不同参数类型(下)

继续开始讲后面的参数类型:


六:raw



简介:就是个大字符串,只是你可以告诉后端如何来解析这个字符串,即请求头的Content-Type不同。


1- Text格式


举例:传输 【abcdefg】 几个字


requests代码:

import requests
url = "http://localhost:8000/test/"
payload = "abcdefg"
headers = {
  'Content-Type': 'text/plain'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

接口详情:


640.png


2- Javascript格式

requests代码:只有headers不同


headers = {  'Content-Type': 'application/javascript'}


接口详情:

640.png


3- Json格式

requests代码:只有headers不同

headers = {  'Content-Type': 'application/json'}


接口详情:

640.png


4- HTML

requests代码:只有headers不同


headers = {  'Content-Type': 'text/html'}


接口详情640.png


5- XML

requests代码:只有headers不同

headers = {  'Content-Type': 'application/xml'}

接口详情

640.png


七:binary



简介:就是单独传一个文件,其他啥都不带。


举例:传个照片 1.png


requests代码:


import requests
url = "http://localhost:8000/test/"
payload=open('/xxx/xxx/1.png','rb')headers = {  'Content-Type': 'image/png'}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)


注意,contentType 需要根据文件实际类型变化来决定。有的同学会问了,那么多文件类型,难道要都写么?


其实,我们可以写好一份或者下载一份大全对比,然后通过一个第三方函数自动化识别和决定contentType的值即可。


而更多实际情况是,某个接口只能接收一种类型的文件,其他格式无效,比如头像上传,只接受png。这种情况,前端开发直接写死请求的content-type 为 image/png即可。


八:GraphQl



简介:一种特殊规则的接口api查询语句,你发送的其实就是个命令,本质上就是一个特殊规则的大字符串。(一般用于多个复杂查询整合成一条查询接口的集中式获取资源方法)有三个参数,第一个query 必填,第二个variables 选填。第三个operationName 选填(多操作必填) ,目前大多数同学接触不到这种请求。


requests代码:


import requestsimport json
url = "http://localhost:8000/test/"
query = ""variables = ""
payload="{\"query\":\"%s\",\"variables\":%s}"%(query,eval(variables))headers = {  'Content-Type': 'application/json'}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)


注意,variables是需要求值代入的。注意headers ,contentType的值都是application/json


接口详情:

640.png


好了,大概就说这么多,一般去做自动化或者接口测试平台的话,底层要是打算自己写,看这篇文档基本就够用了。


相关文章
|
6月前
|
安全 中间件
字节赫兹 框架教程 一请求上下文之请求(三)
字节赫兹 框架教程 一请求上下文之请求
79 0
|
2月前
|
网络安全 Python
请求模块requests:请求方式
请求模块requests(一)
|
2月前
|
Python
8. 如何解决 Tornado 检测到了有事件(events)被发送到一个已经关闭的流(stream)。在 Tornado 中,一个流代表一个请求或响应的数据流。这个警告可能意味着在请求处理的过程中,
8. 如何解决 Tornado 检测到了有事件(events)被发送到一个已经关闭的流(stream)。在 Tornado 中,一个流代表一个请求或响应的数据流。这个警告可能意味着在请求处理的过程中,
|
5月前
|
存储 监控 Serverless
函数计算操作报错合集之实例请求Header里面带 "xweb_xhr: 1" 就出现超时,该如何解决
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
4月前
|
JSON 数据格式
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
|
5月前
|
数据采集 JSON 数据建模
scrapy快加构造并发送请求
scrapy快加构造并发送请求
|
6月前
|
数据采集 搜索推荐 API
python爬虫如何处理请求频率限制?
【2月更文挑战第21天】【2月更文挑战第64篇】python爬虫如何处理请求频率限制?
540 3
|
6月前
|
存储 安全 中间件
字节赫兹 框架教程 一请求上下文之请求(一)
字节赫兹 框架教程 一请求上下文之请求
54 0
|
6月前
字节赫兹 框架教程 一请求上下文之请求(二)
字节赫兹 框架教程 一请求上下文之请求
58 0
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求
162 0
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求