Python Requests - Загрузка Zip-файла - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть zip-файл, который необходимо загрузить.Когда я использую команду CURL, она загружается, но когда я пытаюсь сделать то же самое, используя запросы Python, я получаю HTTP 405 Method Not Allowed.Размер zip-файла составляет около 500 КБ.

Команда Curl -

curl -u<username>:<password> -T /log/system/check/index.zip "<target URL>"

Python Script (пробовал 2 разных способа) -

1:

import requests
files = {'file': open('/log/system/check/index.zip', 'rb')}
r = requests.post(url, files=files, auth=('<username>', '<password>'))

2:

import requests
fileobj = open('/log/system/check/index.zip', 'rb')
r = requests.post(url, auth=('<username>', '<password>'), files={"archive": ("index.zip", fileobj)})

Я что-то упускаю из виду?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

может быть, это вам поможет.

 with open(zipname, 'rb') as f:
uploadbase = requests.put('url',
                    auth=(base, pwd),
                    data=f,
                    headers={'X-File-Name' : zipname, 
                                  'Content-Disposition': 'form-data; name="{0}"; filename="{0}"'.format(zipname), 
                                   'content-type': 'multipart/form-data'})

разница между пут и пост

0 голосов
/ 11 декабря 2018

curl -T ... использует метод PUT вместо POST.Как говорится в сообщении об ошибке, вы должны использовать

r = requests.put(url, ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...