遇到multipart/form-data; 如何使用requests进行请求

xionghazi 发布于 2025-05-12 776 次阅读 最后更新于 2025-05-12


前段时间写五秒盾接口的时候遇到了一种奇怪的 Content-Type, 类似下图这样:

而他的 post 请求表单参数也是奇奇怪怪的长这样:

multipart/form-data 其实是一种用于表单提交的内容类型,专门用于处理包含文件、非ASCII数据和二进制数据的表单提交。

废话不多说,直接上代码展示如何通过 python 的 requests 库进行这个格式的请求:

import requests
from requests_toolbelt import MultipartEncoder
file_payload = {
    'cf-turnstile-response': token,
    'SS': '',
    'RT': '',
    'FL': 'on',
    'TT': 'RT',
    'DC': 'KHI',
    'AC': 'ISB',
    'AM': '2025-04',
    'AD': '27',
    'RM': '2025-04',
    'RD': '28',
    'PA': '1',
    'PC': '',
    'PI': '',
    'CC': '',
    'CR': '',
    'NS': 'true',
    'PX': '',
    'CD': '',
}
m = MultipartEncoder(file_payload)
headers['Content-Type'] = m.content_type
response = requests.post(url, headers=headers, data=m)

此作者没有提供个人介绍
最后更新于 2025-05-12