使用带有请求的multipart / form-data的POST的python设置边界

杰夫

我想使用请求发送文件,但服务器在处设置了固定边界*****我只能发送文件,但是requests模块会创建随机边界。我该如何覆盖它?

import requests

url='http://xxx.xxx.com/uploadfile.php'
fichier= {'uploadedfile':open('1103290736_2016_03_23_13_32_55.zip','rb')}
headers2={'Connection':'Keep-Alive','User-Agent':'Dalvik/1.6.0 (Linux; U; Android 4.4.2; S503+ Build/KOT49H)','Accept-Encoding':'gzip'}
session= requests.Session()
session.post(url,headers=headers2,files=fichier)
session.close()
马丁·彼得斯(Martijn Pieters)

男孩,那是一台非常破损的服务器如果可以,请修复服务器。

您无法确定选择requests哪个边界。您可以改为建立自己的multipart/form-data有效载荷,使用email.mime

from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

related = MIMEMultipart('form-data', '*****')  # second argument is the boundary.
file_part = MIMEApplication(
    open('1103290736_2016_03_23_13_32_55.zip', 'rb').read(),
    # optional: set a subtype: 'zip',
)
file_part.add_header('Content-disposition', 'form-data; name="uploadedfile"')
related.attach(file_part)

body = related.as_string().split('\n\n', 1)[1]
headers = dict(related.items())
headers['User-Agent'] = 'Dalvik/1.6.0 (Linux; U; Android 4.4.2; S503+ Build/KOT49H)'

r = session.post(url, data=body, headers=headers)

这将设置Content-Type: multipart/form-data; boundary="*****"为标题,而正文将*****用作边界(带有适当的--前缀和后缀)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用php或javascript创建带有请求的POST

带有请求的Python HTML POST

NativeScript Vue发送带有表单数据的请求(multipart / form-data)

python请求-HTTP请求中没有文件名的POST Multipart / form-data

在带有SuiteScript 2.0的NetSuite中,无法通过内容类型为multipart / form-data的HTTP POST请求发送文件

python请求Content-Disposition中具有其他参数的POST Multipart / form-data

Python POST multipart / form-data请求与Postman不同的行为

如何使用cURL发送带有请求参数的POST请求?

对Python的cURL请求(使用multipart / form-data)

使用 POST 请求发送 multipart/form-data 字符串,python

使用 J Meter 使用 Web-kit Form-Data 发送带有 POST 请求的参数

使用$ http发送带有角度的multipart / form-data文件

如何使用带有hyper的multipart / form-data发布图像?

android中带有表单数据的POST文件(带有multipart / form-data的图像)

带有 multipart/form-data 的 AWS 上传无效

带有multipart / form-data和@ApiImplicitBody的Swagger文档

如何在不解码的情况下使用Python下载带有请求的.gz文件?

如何使用multipart / form-data发送请求?

使用Java创建HTTP multipart / form-data请求

如何使用带有 JWT 的 Python (multipart/form-data) 将照片/图片上传到 Zoom API?

FormData如何获取或设置multipart / form-data中的边界-Angular

对于内容类型,request.POST为空:multipart / form-data; 边界= xYzZY

带有请求主体的Wordpress post API

问题。带有请求+硒的python废料

在python中处理带有请求的发布数据

Python:删除带有请求和JSON的函数

Python 选择带有请求的下拉值

无法在 Python 中下载带有请求的 url 链接

使用axios在POST multipart / form-data请求中发送文件和json