专栏首页微服务架构日记HTTP接口测试常见请求类型

HTTP接口测试常见请求类型

post请求相对于get请求多一个body部分,平时开发遇到的CONTENT_TYPE有下面四种类型

  • application/x-www-form-urlencoded
  • application/json
  • text/xml
  • multipart/form-data

application/x-www-form-urlencoded

该方法一些前后端不分离项目常用的请求方式,它要求key、value符合key=value&这种格式,在接口请求过程中我们必须以这种方式进行请求,该类型发送的数据进入post或get。

# 注意这里的parse,有的api接口为了安全,而是接收这种拼接好的字符串,为了避免出错,这里建议parse,它是兼容的
from urllib import parse
url = 'http://www.example/post'
params = json.dumps({'key1': 'value1', 'key2': 'value2'})
data = parse.urlencode(params)
r = requests.post(url, data=data)
print (r.text)

application/json

该方法一些前后端分离项目常用的请求方式,它要求发送的数据必须进行符合json格式,在接口请求中它并不进入post或get,而是进入body。

url = 'http://www.example/post'
s = json.dumps({'key1': 'value1', 'key2': 'value2'})
r = requests.post(url, data=s)
print (r.text)

multipart/form-data

该方法在进行上传文件时使用,通用在postman下进行发送,该方法进body,且以字节流的形式临时保存在body中。

url = 'http://httpbin.org/post'
files = {'file': open('C://Users//Someone//Desktop//1.png', 'rb')}
r = requests.post(url, files=files)
print(r.text)

text/xml

目前接触到的该方法只在微信api接口中遇到,公众号几乎全部使用该类型,该类型进入body。下面是利用postman发送文件进行的。

import requests

with open(archivo_request,"r") as archivo:
    request_data = archivo.read()
target_url = "http://127.0.0.1:8000/?wsdl"
headers = {'Content-type':'text/xml'}
data_response = requests.post(target_url, data=request_data, headers=headers)

参考链接

python实现Content-Type类型为application/x-www-form-urlencoded发送POST请求

Python实现接口测试中的常见四种Post请求数据

python接口自动化25-发xml格式post请求

详解 POST 请求中的 Content-Type

python3 requests详解

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python接口测试之http请求

    python的强大之处在于提供了很多的标准库,这些标准库可以直接调用,本节部分,重点学习和总结在接口测试中Python的Http请求的库的学习。

    无涯WuYa
  • 接口测试类(http,post请求)参数 json格式

    package RMI; import java.io.BufferedReader; import java.io.DataOutputStream; im...

    用户1220053
  • RF接口测试(3)--http请求之post

    用户2149234
  • RF接口测试(2)--http请求之get

    用户2149234
  • Jmeter4.0接口测试之HTTP的请求(五)

    下面来看使用Jmeter怎么来做HTTP的接口请求,在请求中使用浏览器的network获取请求的信息,见获取到的请求信息:

    无涯WuYa
  • Jmeter接口测试之HTTP请求默认值(八)

    不管是在UI级别的自动化测试还是在接口级别的自动化测试中,对公共数据数据的分离都是一种趋势,或者某种程度来说,这是自动化测试中必须要掌握的一种能力...

    无涯WuYa
  • 【使用Postman测试web接口】管理http请求

    Postman程序窗口可以划分为3个区域,包括Sidebar、请求编辑区、请求响应区。在Sidebar部分包含“History”和“Collection”选项卡...

    botkenni
  • python接口测试—get请求

    Python 做借口测试用到的是requests模块,首先要导入requests库,pip install requests

    用户7466307
  • [PHP] PHP请求Socket接口测试

    使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果

    陶士涵

扫码关注云+社区

领取腾讯云代金券