|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
|
Как установить read timeout?23.03.2022, 19:04. Показов 11144. Ответов 36
Метки нет (Все метки)
Всем привет. Возник важный вопрос: есть ли на сегодняшний день рабочий способ поставить read timeout на http запрос используя хоть какую-нибудь либу?
0
|
|
| 23.03.2022, 19:04 | |
|
Ответы с готовыми решениями:
36
Telegram+Telebot = Read timeout error?
Bluetooth Android. read failed, socket might closed or timeout, read ret: -1 |
|
|
||||||||||||
| 24.03.2022, 18:54 | ||||||||||||
|
А можно как-то больше конкретики? Что например вообще происходит при подключении через requests или другой клиент? Какая ошибка в конечном итоге выдается на клиенте? Или коннект так и висит на протяжении 2 часов? (это дефолтный таймаут проверки пассивных соединений TCP стеком для последующего разрыва, если на том конце никого нет) Впрочем, маршрутизаторы тоже имеют свой интервал очистки от "мертвых" сеансов - обычно он всего 10 минут. Добавлено через 31 минуту Я так понял (по некоторым issue на github) что проблема есть только при использовании https прокси. Потому что использовании http прокси read timeout работает.
Добавлено через 51 минуту Вот еще проверил на своем сервере - через http прокси:
0
|
||||||||||||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
||||||||||||||||||
| 24.03.2022, 19:11 [ТС] | ||||||||||||||||||
Добавлено через 4 минуты Не по теме: Что происходит, уже второй раз половина сообщения не отправляется
0
|
||||||||||||||||||
|
|
||
| 24.03.2022, 19:13 | ||
|
0
|
||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
|||||||
| 24.03.2022, 19:14 [ТС] | |||||||
|
Вот код, я уже выше кидал
0
|
|||||||
|
|
|||||||
| 24.03.2022, 19:17 | |||||||
0
|
|||||||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
||
| 24.03.2022, 19:17 [ТС] | ||
|
0
|
||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
|
| 24.03.2022, 19:20 [ТС] | |
|
0
|
|
|
|
||||||||
| 24.03.2022, 19:27 | ||||||||
|
Добавлено через 17 секунд
Надо подумать. Пока пазл понимания, увы, не складывается... Я так понимаю у тебя примерно такой чекер:
0
|
||||||||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
||||
| 24.03.2022, 19:40 [ТС] | ||||
|
Добавлено через 3 минуты
0
|
||||
|
|
|
| 24.03.2022, 22:22 | |
|
Matrix3007,
По поводу этого проблемного IP. Раз библиотека aiohttp вернула ответ от сервера и этот ответ был страницей самого сайта, а не запрашиваемого ресурса, то все логично. http клиент не обязан знать что он именно должен вернуть. Он должен вернуть то, что ему прислали на запрос. Любой ответ. И раз сервер вернул ответ от самого себя, значит он больше не проксирует запросы. Либо проксирует, но на другом порту. Вопрос, почему остальные клиенты на этом IP спотыкаются и ждут неизвестно чего, остается открытым. Но раз у aiohttp не возникает с проблем, то стоит использовать именно этот клиент. Но вот как отличить ответ обычного http сервера от proxy сервера я не знаю. Сейчас проверил есть ли в разница в заголовках, но нет. Хотя пишут, что некоторые прокси все-таки добавляют в ответ свои собственные нестандартные заголовки. Добавлено через 6 минут В конечном итоге не так уж важно, что чекер даст ложноположительный ответ на этот IP. Ты ведь все равно через эти прокси будешь запрашивать какие-то конкретные ресурсы. И правильный программист всегда проверяет при получении ресурса не только статус ответа, но и например html title (или что-то еще), чтобы убедиться что прислано именно то, что ожидалось. Ну я так всегда делал при парсинге...
1
|
|
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
|||||||
| 25.03.2022, 14:47 [ТС] | |||||||
|
Garry Galler, Скорее всего другие либы и не отличают, они просто не могут связататься с "прокси", видимо потому что он не принимает их заголовки, а если бы смогли то так же выдавали бы ответ от сайта. По сути это и происходит, например если не передавать заголовки, вернётся ошибка 401, но по заголовкам станет понятно что это ответ именно от того сайта а не от гугла:
Добавлено через 1 час 10 минут
0
|
|||||||
|
|
|||||||
| 25.03.2022, 16:59 | |||||||
|
Matrix3007,
А вот этот http client - встроенный в Python - не пробовал? (я его так ни разу и не использовал...)
Сервер не может проанализировать заголовки не установив подключение. Просто ответом от сервера было бы что-то типа 403 Forbidden или 401 Unauthorized. Я, например, так настроил nginx для клиентов с неподходящими параметрами. Но соединение то nginx с клиентом все равно устанавливает. Если же коннекта с сервером вообще нет (то есть не состоялось традиционное TCP рукопожатие между клиентом и сервером: один руку протянул для приветствия, а второй нет; либо серверу был отправлен пакет, а он не отправил подтверждения о принятии) - будет ошибка connect timed (через установленное время).
0
|
|||||||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
|||||||||||||||
| 25.03.2022, 17:36 [ТС] | |||||||||||||||
0
|
|||||||||||||||
|
|
|||
| 25.03.2022, 19:33 | |||
|
То есть сервак ответил кодом, которого вообще нет в списке HTTP кодов. Своим собственным и добавил message - Invalid Password. Похоже, что сервер требует пароля. А requests как я понял именно это и возвращает: <Response [401]> То есть хочу авторизации. Сервер может отослать заголовки, но на тело положить болт, а клиент будет по каким-то основаниям все-таки ждать его. И read timeout в этом случае может не отработать. Так как кой-чего все-таки прислали. Можно вообще пробовать запрашивать только заголовки (и код ответа) запросом HEAD вместо GET. P.S. Как-то для одного спамерского IP я делал такой фокус - ставил ему таймер при ответе. То есть его клиент тоже тупо зависал на некоторое время, а потом мой сервер просто закрывал соединение без всякого ответа :-)
0
|
|||
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
||
| 25.03.2022, 20:37 [ТС] | ||
Правда я сейчас ещё заметил что в принципе не могу с ним получить тело ответа, только заголовки.
0
|
||
|
|
|
| 25.03.2022, 21:22 | |
|
Прочитал в базе документации developer.mozilla.org как работает авторизация на прокси:
Для установки таких соединений через proxy используются другие заголовки: Proxy-Authenticate - от сервера - с указанием нужной схемы аутентификации Proxy-Authorization - от клиента - с нужными данными И http ответом на необходимость авторизации будет не 401, а 407. Так что значит это вовсе не прокся отвечает. Попробуй все-таки вместо GET использовать HEAD.
0
|
|
|
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
|
||||||
| 28.03.2022, 12:57 [ТС] | ||||||
|
Garry Galler,
0
|
||||||
| 28.03.2022, 12:57 | |
|
HttpListener, как установить Timeout ? Ошибка 'Read Timeout' [ffmpeg] как установить timeout ожидания ? Dalay в программе.Как установить заданный timeout? Socket read timeout. Не подключается к БД Oracle Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|