мне нужно скачать файл из внешнего источника, я использую обычную проверку подлинности для входа в URLСкачать двоичный файл с помощью Python запрашивает модуль
import requests
response = requests.get('<external url', auth=('<username>', '<password>'))
data = response.json()
html = data['list'][0]['attachments'][0]['url']
print (html)
data = requests.get('<API URL to download the attachment>', auth=('<username>', '<password>'), stream=True)
print (data.content)
я получаю ниже выхода
<url to download the binary data>
\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xcb\x00\x00\x1e\x00\x1e\x00\xbe\x07\x00\x00.\xcf\x05\x00\x00\x00'
Я ожидаю, что URL-адрес загрузит документ документа в тот же сеанс.
Таким образом, звуки первого шага в порядке (возвращает нужный URL-адрес). То, что вы еще не сделали, - это извлечение данных из второго ответа. «data = request.get (« », stream = True)», вероятно, должно быть чем-то вроде «data = requests.get (« », stream = True) .text "? Попробуйте это и отредактируйте вопрос, если он все еще не работает –
http://docs.python-requests.org/en/master/user/advanced/#session-objects и, возможно, также передаст 'auth' во втором запросе как Что ж? – Jasper
Я рекомендую вам перечитать документацию о запросах Quickstart. Чтобы получить _binary_ данные из возвращаемого объекта Response, вам необходимо получить доступ к своему атрибуту ['.content'] (http://docs.python-requests.org/en/master/user/quickstart/#binary-response-content). –