multipart/form-data; boundary上传文件

前景:工作中需要批量造数据,而这个数据是通过上传xlsx文件方式,如下图,我想要用python自动调用生成批量数据

 

解决问题:

抓包分析下

 python使用第三方包解决

pip install requests-toolbelt

三方包介绍:The Requests Toolbelt — requests_toolbelt 0.8.0 documentation

代码实例

import mimetypes

from requests_toolbelt import MultipartEncoder
import requests


def get_content_type(filename):
    """
    获取文件的content-type的方法
    :param filename:
    :return:
    """
    return mimetypes.guess_type(filename)[0] or 'application/octet-stream'


m = MultipartEncoder(
    fields={'dataType': 'CASE',
            'inputBatchCode': 'hfww1',
            'templateId': '103',
            'templateName': '全量模板',
            'upload': '1',
            'file': ('1646829122279.xlsx',
                     open(r"D:\1646829122279.xlsx", "rb"),
                     get_content_type(r"D:\1646829122279.xlsx"))}
)

headers = {"Content-Type": m.content_type,
           "X-Token": "meQhbfyqJhP9PzHxW4e4rWjQXwHs1xAJMjGLxPvQuHO7X0dm",
           "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
           }

res = requests.post(url="上传的url",
                    headers=headers,
                    data=m)

print(res.status_code)
print(res.content.decode("utf-8"))

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值