@fleen

Httpx.AsyncClient, как обновлять прокси у клиента?

В общем есть код:
def rand_proxy()
    Подключается к базе, достаёт прокси и заканчивается:
    return prox

client = httpx.AsyncClient(proxies={'http': rand_proxy()}

И я не понимаю, как можно обновлять прокси у клиента допустим через 30 секунд

Если вы знаете, то не могли бы помочь)
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
LulzLoL231
@LulzLoL231
Python Developer
Когда ты объявляешь переменную, параметры класса выполняются один раз и значение сохраняется.
Просто напиши генератор, записывай время последней выдачи и обновляй его, а возвращай не прокси а client
Примерный код:
from datetime import datetime

def get_client():
    last_dt = datetime.now()
    last_proxy = rand_proxy()
    while True:
        if (datetime.now() - last_dt).seconds > 30:
            last_proxy = rand_proxy()
            last_dt = datetime.now()
        yield httpx.AsyncClient(proxies=last_proxy)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы