Запросы в Asyncio — аргументы ключевых словPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запросы в Asyncio — аргументы ключевых слов

Сообщение Anonymous »

Я использую asyncio с модулем requests для создания асинхронного HTTP-запроса.

Я могу сделайте запрос GET следующим образом:

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

@asyncio.coroutine
def do_checks():
loop = asyncio.get_event_loop()
req = loop.run_in_executor(None, requests.get, 'https://api.github.com/user')
resp = yield from req
print(resp.status_code)
loop = asyncio.get_event_loop()
loop.run_until_complete(do_checks())
Однако мне необходимо обеспечить поддержку базовой HTTP-аутентификации (описанной здесь) в запросе.

Согласно в документации url и auth являются именованными параметрами для Request.get().

Но если я запустите это (обратите внимание на добавление url='' и auth = ''):

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

@asyncio.coroutine
def do_checks():
loop = asyncio.get_event_loop()
req = loop.run_in_executor(None, requests.get, url='https://api.github.com/user', auth=HTTPBasicAuth('user', 'pass'))
resp = yield from req
print(resp.status_code)
loop = asyncio.get_event_loop()
loop.run_until_complete(do_checks())
Я получаю следующую ошибку:

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

TypeError: run_in_executor() got an unexpected keyword argument 'url'
В прототипе asyncio.run_in_executor() поддерживаются дополнительные аргументы:

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

BaseEventLoop.run_in_executor(executor, callback, *args)
requests.get() явно поддерживает именованные параметры (get, auth и т. д.). Что случилось?

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

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

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

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

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

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

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