Грешки при таймаут на прокси: връзката увисва и прекъсва
Updated:
Таймаутът е по-неприятен от другите грешки, защото не дава информация: няма отказ, няма подкана за парола, само тишина, докато софтуерът ви не се откаже. Обикновено пакетите ви отиват някъде и изчезват или проксито приема връзката, но не отговаря навреме. Задачата е да разберете на коя точно стъпка възниква това затишие.
Три изхода при таймаут, които измерихме
Настроихме тестово прокси, което приема TCP връзки и никога не отговаря, след което пуснахме една и съща заявка с два вида лимит на времето (адресът е пренаписан като 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comдаваcurl: (28) Proxy CONNECT aborted due to timeout. Този лимит обхваща само фазата на свързване.- Замяната с
-m 10(лимит за целия трансфер) връщаcurl: (28) Connection timed out after 10002 milliseconds. - Chromium, насочен към същото прокси, съобщава
ERR_TIMED_OUT; инструментът proxy checker показваtimeout.
Причини, подредени по вероятност
- Мрежата ви тихо блокира порта на проксито. Wi-Fi мрежите в офиси, хотели и кампуси често изхвърлят пакети към необичайни портове, вместо да откажат връзката, така че чакате безкрайно.
- Таймаутът в кода ви е твърде кратък. Прокси в отдалечена държава се нуждае от малко повече време за handshake; лимит от 2–3 секунди може да прекъсне прокси, което иначе работи нормално.
- Проксито или целевият сървър е претоварен. Проксито приема връзката, но чака уебсайта, а вашето търпение се изчерпва първо.
- Грешен IP адрес. Печатна грешка, която води до неотговарящ адрес, поражда мълчание вместо отказ на връзката.
Решения според средата
- Windows/Chrome: пробвайте същото прокси през мобилните данни на телефона си. Ако таймаутът изчезне, първоначалната мрежа блокира връзката; прочетете проверка на проксито и защитната стена.
- Антидетект браузъри: бутонът за проверка на прокси обикновено има фиксирано време за изчакване. Опитайте отново няколко пъти и ако грешката възниква само при част от профилите, сравнете техния прокси ред с работещ такъв.
- Telegram: забиването на статус свързване след активиране на прокси също често е таймаут; тествайте проксито в инструмента за проверка, преди да променяте настройките в Telegram.
- Python requests: подайте
timeout=(10, 30), което означава 10 секунди за свързване и 30 секунди за четене. Прихващайтеrequests.exceptions.ConnectTimeoutиrequests.exceptions.ReadTimeoutпоотделно, за да видите къде увисва, и добавете няколко повторни опита през интервал от време, вместо неограничен таймаут. - curl: използвайте
--connect-timeout, за да измерите само стъпката на свързване, и-m, за да ограничите цялата команда.
Таймаут или просто бавна връзка?
Бавното прокси все пак връща отговор, макар и със закъснение. Инструментът proxy speed test показва реалното време за отговор; ако стойностите са близки до таймаута на вашия софтуер, увеличете лимита или изберете прокси в държава по-близо до целевия сървър. Ако при многократни тестове изобщо не получавате отговор, става дума за реален таймаут и следващата стъпка е запитване към поддръжката с резултата от инструмента за проверка.
Стъпка по стъпка
- 1
Потвърдете таймаута с инструмента за проверка
Поставете прокси реда в proxy checker. Резултат
timeoutозначава, че в рамките на лимита за изчакване не е пристигнал отговор. - 2
Сменете мрежата за локализиране на проблема
Опитайте отново през мобилни данни. Ако проработи, проблемът е в първоначалната мрежа или нейната защитна стена.
- 3
Измерете времето за отговор
Пуснете proxy speed test, за да разберете дали проксито е бавно или изобщо не отговаря.
- 4
Настройте таймаутите и повторните опити в софтуера
Увеличете лимита за свързване на около 10 секунди, добавете повторни опити и стартирайте задачата отново.
Често задавани въпроси
Означава ли таймаутът на проксито, че то не работи?
Не задължително. Много таймаути се дължат на това, че мрежата на потребителя блокира порта. Тествайте от друга мрежа, преди да правите изводи.
Какъв таймаут да задам за проксита в кода?
Около 10 секунди за свързване и 30 секунди за четене е разумна начална точка. Отдалечените проксита или тежките страници може да изискват повече.
Защо таймаут през проксито се получава само за определени уебсайтове?
В такъв случай проксито работи, а целевият сайт зарежда бавно или блокира връзката. Ако сайтът връща 502 вместо липса на отговор, вижте 502 Bad Gateway.
По какво се различава таймаутът от отказана връзка?
Отказът се връща мигновено, докато при таймаут се чака до достигане на лимита. Вижте proxy server refusing connections.
Изберете прокси близо до вашия пазар
VinaProxy предлага IP адреси във Виетнам, САЩ, Япония, Южна Корея, Сингапур, Великобритания и Хонконг, за да сте винаги близо до вашата цел.
Вижте цените