Fork me on GitHub

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方法时将内存中的二进制数据写入硬盘

返回结果:

 

posted @ 2023-01-04 21:17  橘子偏爱橙子  阅读(368)  评论(0编辑  收藏  举报