Wpis z mikrobloga

#programowanie #python #asyncio

Chcę wywołać kilkadziesiąt tysięcy odwołań GETem do strony która zwróci JSONa.
Próbuję to zrównoleglić przy pomocy biblioteki "asyncio".

Problem polega na tym, że nie wiem jak wraz z URLem do requests przekazać nagłówki.
Standardowo zrobiłbym to tak:

requests.get("[http://www.example.com](http://www.example.com)", headers = headers)
ale w tej formie asyncio tego nie łyka.

Kod dostępny tutaj: https://repl.it/repls/DeafeningRowdyArtificialintelligence

lub poniżej:

#!/usr/bin/python
import requests
import json
import asyncio

headers = {
"Content-Type": "application/json"
}

url = "[http://www.example.com](http://www.example.com)"

async def main():

loop = asyncio.get_event_loop()
futures = [

loop.run_in_executor(
None,
# odwolanie powinno wykorzystywać nagłówki (headers)
requests.get,
url
)
for i in range(1, 10)
]
for response in await asyncio.gather(*futures):
print(response.status_code)
pass

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Ktoś używał tej biblioteki lub ma inny pomysł jak to zrobić?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach