使用Python请求上传大于12k的文件在Ubuntu上不起作用

时间:2018-07-09 14:09:58

标签: python-2.7 http ubuntu python-requests

我需要在一个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

预先感谢

1 个答案:

答案 0 :(得分:0)

requests-toolbelt从0.4.0升级到0.8.0解决了该问题