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