码迷,mamicode.com
首页 > 编程语言 > 详细

Python接口测试,requests库的post请求进行文件上传

时间:2020-01-24 21:15:25      阅读:506      评论:0      收藏:0      [点我收藏+]

标签:key   color   接口测试   图片   json   name   文件上传   改变   进制   

前言

如果需要发送文件到服务器,比如上传图片、视频等,就需要发送二进制数据。

一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可以发送相关的消息体数据。

 

POST一个多部分编码(Multipart-Encoded)的文件

使用 requests 上传文件的基本步骤

  1. 构造文件数据,通过 open 函数以二进制方式打开文件
  2. 构造相关数据
  3. 发送请求,将文件数据以  files  参数传入,其他消息体数据通过  data 、json 、 headers 、 cookies 传入
 1 url = http://httpbin.org/post  # 上传文件接口
 2 files = {
 3     file: (test.png,  # 文件名称
 4              open(../file/test.png, rb),  # 文件路径
 5              image/png,  # 文件类型
 6              {Expires: 0}  # 其他参数,非必传
 7              )
 8 }  # => 打开上传文件并且加入文件相关参数
 9 
10 data = {
11     "name": "test"
12 }
13 
14 # data传入请求参数dict,files传入待上传文件参数dict
15 r = requests.post(url, data=data, files=files)
16 print(r.json())

注意

files字典里的  file 键是根据上传组件的name属性来改变的,不一定是file;

如下图上传组件,当你上传一张图片时,抓包可以发现会传两个值,一个是fileField,一个是type,所以你的文件数据dict要包含 fileField 和 type 两个key

技术图片

技术图片

1     files = {
2         fileField: (test.png,  # 文件名称
3                       open(../file/test.png, rb),  # 文件路径
4                       image/png,  # 文件类型
5                       {Expires: 0}  # 其他参数,非必传
6                       ),
7         type: 1
8     }  # => 打开上传文件并且加入文件相关参数


Python接口测试,requests库的post请求进行文件上传

标签:key   color   接口测试   图片   json   name   文件上传   改变   进制   

原文地址:https://www.cnblogs.com/poloyy/p/12232541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!