Fork me on GitHub

python接口自动化系列 - requests库的post请求上传和下载02

在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。

一、文件上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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())

返回结果:

二、文件下载

极其简单,将二进制格式的响应内容存进本地文件中,根据需要下载的文件的格式来写文件名即可

1
2
3
4
5
6
7
#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方法时将内存中的二进制数据写入硬盘

返回结果:

 

posted @   橘子偏爱橙子  阅读(394)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示