Асинхронные запросы Python.post () - PullRequest
0 голосов
/ 15 ноября 2018

Таким образом, идея состоит в том, чтобы собрать ответы на 1 миллион запросов и сохранить их в словаре. Я хочу, чтобы он был асинхронным, так как каждый запрос запрашивает 1 сек., И я хочу, чтобы цикл продолжался, пока он ждет ответа. После некоторого исследования у меня есть что-то вроде этого.

async def get_response(id):
    query_json = id2json_dict[id]
    response = requests.post('some_url', json = query_json, verify=false)
    return eval(response.text)

async def main(id_list):
    for unique_id in id_list:
        id2response_dict[unique_id] = get_response(unique_id)

Я знаю, что это не асинхронный, как я могу использовать в нем «ожидание», чтобы сделать его действительно асинхронным?

1 Ответ

0 голосов
/ 27 марта 2019

Пакет requests-async обеспечивает асинхронную поддержку requests ... https://github.com/encode/requests-async

Либо это, либо используйте aiohttp.

...