Curl работает, но запросы Python не могут загрузить изображение - PullRequest
0 голосов
/ 04 февраля 2019
curl 'https://example.com/v2/' -F 'master=@test.jpg;type=image/JPEG' -H 'X-Generate-Renditions: all' -H 'X-Create-Asset-Sync: 1' -H 'Authorization: Bearer xyz' -H 'X-Read-Meta: none'

работает безотказно, но не из приведенных ниже запросов Python возвращает 404.

import requests

headers = {
    'X-Generate-Renditions': 'all',
    'X-Create-Asset-Sync': '1',
    'Authorization': 'Bearer xyz',
    'X-Read-Meta': 'none'
}

with open('test.jpg', 'rb') as f:
    response = requests.post('https://example.com/v2/', headers=headers, files={'test.jpg': f})
    print(response.status_code)

Возвращает 404.

Что я делаю не так?

1 Ответ

0 голосов
/ 04 февраля 2019

Вы не отправляете файл с правильным именем поля.Измените следующую часть

files={'test.jpg': f}

на

files={'master': ('test.jpg', f, 'image/JPEG')}

См. http://docs.python -requests.org / en / master / user / quickstart / # post-a-multipart-кодированный файл для правильного использования.

...