Я пытаюсь сделать POST-запрос к API imagekit.io для загрузки изображения.
Документации очень не хватает, но при попытке следовать базовой структуре запросов мне выдается следующая ошибка:
>>> r = requests.post(url, params=payload)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\requests\api.py", line 112, in post
return request('post', url, data=data, json=json, **kwargs)
File "C:\Python27\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 658, in send
r.content
File "C:\Python27\lib\site-packages\requests\models.py", line 823, in content
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
File "C:\Python27\lib\site-packages\requests\models.py", line 748, in generate
raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: error(10053, 'An established connection was aborted by the software in your host machine')", error(10053, 'An established connection was aborted by the software in your host machine'))
Вот информация, касающаяся полезной нагрузки:
payload = {'apiKey': api_key, 'filename': file_name,
'timestamp': timestamp, 'signature': signed_key,
'file': encoded_file}
кодированный_файл получается с использованием следующей функции:
def get_file(file_name):
with open(file_name, "rb") as image_file:
encoded_file = base64.b64encode(image_file.read())
return encoded_file
Я попытался адаптировать скрипт и запустить его из Python3, так как я обнаружил, что некоторые люди говорят, что это может быть проблемой в Python2.7, но я получаю ту же ошибку.