pythonPost之multipart/form-data

Python requests库Post方法上传文件之multipart/form-data

requests的Post上传可以分为4种

application/x-www-form-urlencoded
multipart/form-data
application/json 
text/xml

具体详解可以参考:四种传输格式

重点 multipart/form-data

注意
1.在headers中需要注释掉Content-Type
2.files的文件格式根据具体的文件而定文件:file/zip,file/txt,file/rar…图片:image/png,image/jpg
3.在headers中Cookie、Referer、Host等参数需要加上。

具体代码如下

# 上传modem压缩包
import requests


class reportModem:

    def __init__(self) -> None:
        super().__init__()
        self.url = "https://mate.mediatek.com/mita/api/swload/file/upload"
        self.headers = {
            "Accept": "*/*",
            # "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundary4QAlvstnnUNT2Rf2",
            "Host": "mate.mediatek.com",
            "Content-Length": "28567201",
            "Origin": "https://mate.mediatek.com",
            "Referer": "https://mate.mediatek.com/mita/ue/admin",
            "Cookie": "...MiTAAuth=CfDJ8A85HaR62sNHktmd15ZRjlviKVxhYBn1A-vN0jOXHNXm1Il5StYD0zppifrjSFlsXUT63z77IbdMH-G9PbDFSFoSHq0HG48_5HAyxWdyN17FYIIODT7BQ9jvooTOnaPW8XRV6diLkopWSf8eUoAvS_t1q6ko9RfLb59EDynu4YU-51Oq-bKRydxsBx-bBW6Yz_jPeVTbEEDlk9B9JUxEbyXp6_xPh6ODZ2jwoBZvxWfNO8eNVBF7-mn1YHdScdPWaO1nDMY9M31aBFdIjWST2gxKTGWBvqVA5IeDXLTq9ITeEglRtDNulz025_yY4z-f4kgm1waUU5FL2v24GkmVh_jXAsd-CuMKhqyQh925JAyvCMbtfiZnqt3H6t6h6eadmOePb4S45-RqlvNtRwHbhtkArKQu6uG15zqqMXeAPxEzsqEr0GnDRavjte1BjURW-UbRtlh-YyiJLDfyf4BHHYOuhBs2FfwlNIzSPkHBCP_DB7lW8unJN08UqRRMuVnQyXsedwyfMgGIlUJmWJkzdodI60uiUcw9n5_bWbLJJSKdhqBg0RfT-JJrP5whQidI9Cmfwt0usXN6rwOUiXTEcqYPLELXA4vIwUqu6gs0UIA3",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"
        }
        self.data = {
            "versionNo": "",
            "preserved": "false",
            "mitaFile": "(binary)"
        }
        self.file = {
            ('file',
             ('FULLLOAD_20210518.VMOLYM.MT6298.EVB.NLWCTG.SAP.AIF.0126(MT6298.NR16.R1.MP.W21.20.P1).zip', open(
                 'D:\Mercury1\Load\FULLLOAD_20210518.VMOLYM.MT6298.EVB.NLWCTG.SAP.AIF.0126(MT6298.NR16.R1.MP.W21.20.P1).zip',
                 'rb'), 'file/zip'))
        }

    def reportFile(self):
        response = requests.post(url=self.url, headers=self.headers, data=self.data, files=self.file, timeout=10).json()
        print(response)


if __name__ == "__main__":
    rm = reportModem()
    rm.reportFile()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值