Python urllib.request.urlopen с аутентификацией носителя в перенаправленном запросеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python urllib.request.urlopen с аутентификацией носителя в перенаправленном запросе

Сообщение Anonymous »

Следующая команда успешно загружает файл артефакта из рабочего процесса GitHub: < /p>

Код: Выделить всё

curl -L -H "Authorization: Bearer ghp_XXXX" -o arti.zip \
https://api.github.com/repos/OWNER/REPO/actions/artifacts/ID/zip
< /code>
Следующий код Python выходит из строя, с тем же URL и токеном аутентификации: < /p>
import os, urllib.request
req = urllib.request.Request('https://api.github.com/repos/OWNER/REPO/actions/artifacts/ID/zip')
req.add_header('Authorization', 'Bearer ghp_XXXX')

with urllib.request.urlopen(req) as input:
with open('arti.zip', 'wb') as output:
output.write(input.read())
Исключение Python повышается в urlopen () :

Код: Выделить всё

urllib.error.HTTPError: HTTP Error 403: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
< /code>
Что не так в коде Python? Тем не менее, Python Doc для request.add_header () 
говорит, что «заголовки добавляются с использованием этого метода, также добавляются в перенаправленные запросы ». Таким образом, это должно работать. Я видел много переполненных примеров в Интернете, и, по-видимому, каждый из них объясняет, что следует использовать какую-то другую библиотеку Python и т. Д.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-request
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»