接口测试

1. 上传文件

 先看下requests库中的官方描述

用charles抓包,请求头如下:

请求体如下:

 

用fiddler抓包,如下:

 构造post请求,代码如下:

url = 'https://main.test.com/storage/1/storage?dir=abc'
file = {
    'file': open('/Users/zhangyang/PycharmProjects/untitled/image/yinzhang.png', 'rb')
}
header = {
    'token': token
}

ret = requests.post(url=url, files=file, headers=header, verify=False)
pprint(ret.json())

按照上面官方文档的描述,files参数还可以如下:

file = {
    'file': ('yinzhang.png', open('/Users/zhangyang/PycharmProjects/untitled/image/yinzhang.png', 'rb'))
}

还可以如下:

file = {
    'file': ('yinzhang.png', open('/Users/zhangyang/PycharmProjects/untitled/image/yinzhang.png', 'rb'), 'image/png')
}

2. 下载文件

先找到文件下载请求链接,代码如下:

示例1:

download_url = 'https://main-test.3hea.com/web/1/report/'  # 下载链接
ret = requests.get(url=download_url, headers=header)
with open('aaa.xlsx', 'wb') as f:  # 将返回的数据写入文件
    f.write(ret.content)

示例2:

d_url ='http://a.test.com/app/abccc.apk'
ret = requests.get(d_url)
with open('abc.apk', 'wb') as f:
    f.write(ret.content)
原文地址:https://www.cnblogs.com/xiaochongc/p/14955403.html