По умолчанию у requests таймаута нет: клиент может висеть часами. Разбираем, чем connect отличается от read, почему одно число в timeout — не «длина всего запроса», как настроить urllib3.Retry без шторма и POST-дублей, и как ограничить всю операцию бюджетом времени. Код прогнан на Python 3.13 и…