我需要在一个POST中上传文件和json字符串。我使用以下代码进行操作:
url = 'https://service.mydomain.com'
self.session = requests.Session()
self.session.mount(url, HTTPAdapter(max_retries=5))
with open(file_path, 'rb') as f:
form = MultipartEncoder({
"request": json_request,
"file": f,
})
headers = {'Authorization': api_key,
"Content-Type": form.content_type}
try:
resp = self.session.post(UPLOAD_URL,
headers=headers,
data=form,
verify=True,
cookies=cookies)
它在我的MacOS机器上可以正常工作,但是在Ubuntu上,相同的代码不能上传大于12k的文件,而较小的文件可以正常上传
对于Ubuntu上大于12k的文件,这是我得到的:
400 Client Error: Bad Request for url
预先感谢
答案 0 :(得分:0)
requests-toolbelt从0.4.0升级到0.8.0解决了该问题