美文网首页
用requests发送multipart/form-data请求

用requests发送multipart/form-data请求

作者: RedB | 来源:发表于2021-01-13 17:29 被阅读0次

在使用python的requests库实现上传时,有时会遇到一些网站使用multipart/form-data的格式进行上传,即类似Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJnFwE6CVusCddc0K,且抓包到的请求一般如下图:

Fiddler截图

这种情况下,我们通常可以用如下方式发送form-data格式的数据:

multipart_form_data = {
    'file2': ('custom_file_name.zip', open('myfile.zip', 'rb')),
    'action': (None, 'store'),
    'path': (None, '/path1')
}
response = requests.post('https://httpbin.org/post', files=multipart_form_data)

但是有一些时候,我们抓包会发现会有一些重名的字段,这种情况下就无法用传统的使用字典的方案了。
此时需要改成元组的形式~ 范例如下:

multipart_form_data = (
    ('file2', ('custom_file_name.zip', open('myfile.zip', 'rb'))),
    ('action', (None, 'store')),
    ('path', (None, '/path1')),
    ('path', (None, '/path2')),
    ('path', (None, '/path3')),
)

response = requests.post('https://httpbin.org/post', files=multipart_form_data)

以上内容基本参考自:https://stackoverflow.com/a/35974071/5093308

相关文章

网友评论

      本文标题:用requests发送multipart/form-data请求

      本文链接:https://www.haomeiwen.com/subject/xitpaktx.html