python接口自动化系列 - requests库的post请求上传和下载02
在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。
一、文件上传
import requests
#1、上传文件
url = 'http://httpbin.org/post' # 上传文件接口
files = {
'file': ('test.png', # 文件名称
open('./test.png', 'rb'), # 文件路径
'image/png', # 文件类型
{'Expires': '0'} # 其他参数,非必传
)
} # => 打开上传文件并且加入文件相关参数
data = {
"name": "test"
}
# data传入请求参数dict,files传入待上传文件参数dict
r = requests.post(url, data=data, files=files)
print(r.json())
返回结果:

二、文件下载
极其简单,将二进制格式的响应内容存进本地文件中,根据需要下载的文件的格式来写文件名即可
#2、下载文件-将一张网络上的图片下载到本地并保存
import requests
url = 'http://www.hangge.com/blog/images/logo.png'
response = requests.get(url) # 此时在内存为response响应对象开辟空间,从服务器返回的数据也是一直存储在内存中中
with open("logo.png", "wb") as code:
code.write(response.content) # 调用write方法时将内存中的二进制数据写入硬盘
返回结果:

本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/17024206.html

浙公网安备 33010602011771号