Proxy timeout-fel: anslutningen hänger sig och ger upp
Updated:
En timeout är mer frustrerande än andra fel eftersom den inte säger någonting: ingen nekad anslutning, ingen lösenordsfråga, bara tystnad tills ditt program ger upp. Oftast skickas dina paket iväg och försvinner, eller så accepterar proxyn anslutningen men svarar inte i tid. Uppgiften är att ta reda på i vilket steg tystnaden uppstår.
Tre timeout-resultat vi mätte
Vi konfigurerade en testproxy som accepterar TCP-anslutningar och aldrig svarar, och körde sedan samma förfrågan med två olika tidsgränser (adressen omskriven som 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comgercurl: (28) Proxy CONNECT aborted due to timeout. Den tidsgränsen omfattar endast anslutningsfasen.- Att byta till
-m 10(en gräns för hela överföringen) gercurl: (28) Connection timed out after 10002 milliseconds. - Chromium riktad mot samma proxy rapporterar
ERR_TIMED_OUT; proxytestaren rapporterartimeout.
Orsaker, med de mest troliga först
- Ditt nätverk blockerar proxyporten tyst. Wi-Fi på kontor, hotell och campus slänger ofta paket till ovanliga portar i stället för att neka dem, så du väntar i all oändlighet.
- Tidsgränsen i din kod är för kort. En proxy i ett avlägset land behöver lite längre tid för handskakningen; en gräns på 2–3 sekunder kan avbryta en proxy som fungerar alldeles utmärkt.
- Proxyn eller destinationen är överbelastad. Proxyn accepterar anslutningen men väntar på webbplatsen, och ditt tålamod tar slut först.
- Fel IP-adress. Ett skrivfel som hamnar på en adress som inte svarar ger tystnad snarare än en nekad anslutning.
Åtgärder efter miljö
- Windows/Chrome: testa samma proxy via telefonens mobildata. Om timeouten försvinner blockerar det ursprungliga nätverket; läs kontrollera proxyn och brandväggen.
- Antidetekt-webbläsare: knappen för att testa proxyn har oftast en fast väntetid. Försök igen några gånger, och om bara vissa profiler misslyckas, jämför deras proxyrad med en som fungerar.
- Telegram: att fastna på ansluter efter att ha aktiverat en proxy är ofta också en timeout; testa proxyn i testverktyget innan du ändrar i Telegram.
- Python requests: ange
timeout=(10, 30), vilket innebär 10 sekunder för att ansluta och 30 sekunder för att läsa. Fångarequests.exceptions.ConnectTimeoutochrequests.exceptions.ReadTimeoutseparat för att se var det hänger sig, och lägg till några upprepade försök med intervall i stället för en obegränsad timeout. - curl: använd
--connect-timeoutför att enbart mäta anslutningssteget och-mför att sätta en maxgräns för hela kommandot.
Timeout eller bara långsam?
En långsam proxy svarar fortfarande, bara sent. Hastighetstestet för proxys visar verkliga svarstider; om de ligger nära ditt programs timeout bör du höja gränsen eller välja en proxy i ett land närmare målet. Om upprepade tester aldrig får något svar är det en verklig timeout, och att skapa ett ärende med resultatet från testverktyget är nästa steg.
Steg för steg
- 1
Bekräfta timeouten med testverktyget
Klistra in proxyraden i proxytestaren. Resultatet
timeoutinnebär att inget svar kom inom tidsgränsen. - 2
Byt nätverk för att ringa in problemet
Försök igen via mobildata. Om det fungerar är det det ursprungliga nätverket eller dess brandvägg som är problemet.
- 3
Mät svarstiden
Kör hastighetstestet för proxys för att se om proxyn är långsam eller helt tyst.
- 4
Justera timeouts och återförsök i ditt program
Höj anslutningsgränsen till cirka 10 sekunder, lägg till återförsök och kör uppgiften igen.
Vanliga frågor
Betyder en proxy-timeout att proxyn är nere?
Inte nödvändigtvis. Många timeouts beror på att användarens nätverk blockerar porten. Testa från ett annat nätverk innan du drar en slutsats.
Vilken timeout bör jag ställa in för proxys i kod?
Cirka 10 sekunder för anslutning och 30 sekunder för läsning är en rimlig utgångspunkt. Avlägsna proxys eller tunga webbsidor kan kräva mer.
Varför får bara vissa webbplatser timeout via proxyn?
Då fungerar proxyn medan destinationen är långsam eller blockerar. Om webbplatsen ger en 502 i stället för tystnad, se 502 Bad Gateway.
Hur skiljer sig en timeout från en nekad anslutning?
En nekad anslutning returneras direkt; en timeout väntar tills tidsgränsen nås. Se proxyservern nekar anslutningar.
Välj en proxy nära din marknad
VinaProxy erbjuder IP-adresser i Vietnam, USA, Japan, Sydkorea, Singapore, Storbritannien och Hongkong, så att du kan hålla dig nära ditt mål.
Se priser