Python请求:通过POST发送文件返回ConnectionE

2024-04-26 10:09:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python请求库向API服务发送android.apk文件。我已成功地使用请求和此文件类型提交到另一个服务,但我一直得到:

ConnectionError(MaxRetryError("HTTPSConnectionPool(host='REDACTED', port=443): Max retries exceeded with url: /upload/app (Caused by : [WinError 10054] An existing connection was forcibly closed by the remote host)",),)

这是负责的代码:

url = "https://website"
files = {'file': open(app, 'rb')}
headers = {'user':'value', 'pass':'value'}
try:
    response = requests.post(url, files=files, headers=headers)
    jsonResponse = json.loads(response.text)
    if 'error' in jsonResponse:
        logger.error(jsonResponse['error'])
except Exception as e:
    logger.error("Exception when trying to upload app to host")

响应行正在引发上述异常。我使用了这些完全相同的参数,使用Chrome Postman扩展来复制POST请求,它工作得非常完美。我也使用了完全相同的文件格式上传到另一个RESTful服务。此请求与有效请求之间的唯一区别是,此请求附加了自定义标头,以便验证帖子。API并没有将其规定为需要编码的身份验证,HTTP和cURL中的示例都将这些值定义为header或-H

任何帮助都将不胜感激!在


Tags: toapiapphosturlbyvalueresponse
1条回答
网友
1楼 · 发布于 2024-04-26 10:09:36

所以这确实是一个证书问题。在我的例子中,我能够在公司内部保持联系并连接到另一个URL,但是请求库,这是相当惊人的,有关于证书的信息:http://docs.python-requests.org/en/latest/user/advanced/?highlight=certs 出于所有的意图和目的,这是答案,但也许它将有用的人的后代。在

相关问题 更多 >