Задать вопрос
@allresize

Как завершить бесконечный request.post?

У меня есть код, который отправляет запросы на разные ip с помощью requests.post()

В 1 случае из тысячи попадается ситуация, когда request начинает бесконечно загружать аудиофайл.

Сейчас я решил это с помощью заворачивания запроса в отдельный поток и в отдельный класс с переменной для ответа responce на случай если он не бесконечный и использованием thred.join(timeout=10) в вызывающем коде, но получается что тот поток будет бесконечно висеть в фоне. Как его правильно завершать?
Параметр timeout в функции requests не работает в данном случае.
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@va_k
Попробуйте задавать таймаут кортежем первое значение на соединение второе на чтение
r = requests.get('https://github.com', timeout=(3.05, 27))

Ссылка на док
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы