python+requests:接口测试如何实现文件上传

接口测试如何实现文件上传

  • python+requests对正常文件上传是很简单的,但是对于Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJ7KNDCQwPqBqWy1c 这样Content-Type带有boundary的就要做MultipartEncoder处理了。
  • 如上传头像这个接口。
#encoding=utf-8
import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder
session = requests.session()
#首先需要登录提取token或者seesion信息,才能更换头像。这个省略了。
#这是接口上传图片的代码
url = "http://xxxxxxx.html"
#上传图片所用到的字段都放在fields中
multipart_encoder = MultipartEncoder(
    fields={
        "id": "WU_FILE_0",
        "name": "qiqiu.PNG",
        "type": "image/png",
        "Content-Type": "application/octet-stream",
        "file": (
            "qiqiu.png", open('E:\images\qq.PNG', 'rb'), 'image/png')
    },
    #这个boundary对应的内容可以按如下直接写或者用random函数生成对应的格式。
    boundary='-----------------------------2385610611750'
)
#这个headers中的content-type要用multipart_encoder去获取。
session.headers['Content-Type'] = multipart_encoder.content_type
result = session.post(url,data=multipart_encoder)
print(result.json())

后记:content-type用multipart/form-data; boundary=----WebKitFormBoundaryJ7KNDCQwPqBqWy1c这样拼接会出错,至于为什么还有待进去学习。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值