利用Python requests post上传文件

1、前言

利用requests库的POST方法,可以上传图片、视频、Excel等文件。注意请求头中设置Content-Type: multipart/form-data

2、实践

2.1、抓包分析

通过Fiddler抓包获取到WebForms如下图所示,除了最后一项的Value为file类型,其它均为字符串类型。通过阅读其它文章并实验,得出结论:将file和除file之外的其它数据分别构造成myfiles和mydata字典,分别传到requests.post方法的files和data关键字参数
Fiddler抓包

2.2、构造files请求参数

构造files
如上述结论,首先构造myfiles字典。该字典的key为最后一项name所对应的’file’,value为通过 open 函数以二进制方式打开文件,如下所示。

myfiles = {
        'file': open('绝对地址', 'rb')
}

2.3、构造data请求参数

还是如上述结论,mydata为除file之外的其它Web表单中的键值对,key依旧是各个name。
构造data

mydata = {
        'orgId': 'xxx',
        'roleIds': 'xxx',
        'userGroupIds': 'xxx',
        'invalidTime': 'xxx',
}

2.4、发送请求

res = requests.post(url, headers=myheaders, data=mydata, files=myfiles)

3、参考

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值