Proxy zaman aşımı hataları: bağlantı askıda kalır, ardından kesilir
Updated:
Zaman aşımı diğer hatalara göre daha can sıkıcıdır çünkü hiçbir bilgi vermez: ne bir ret, ne bir parola istemi; yalnızca yazılımınız pes edene kadar süren bir sessizlik. Paketleriniz genellikle bir yere gidip kaybolur ya da proxy bağlantıyı kabul eder ancak zamanında yanıt vermez. Asıl amaç, bu sessizliğin hangi adımda gerçekleştiğini bulmaktır.
Ölçtüğümüz üç zaman aşımı çıktısı
TCP bağlantılarını kabul eden ancak hiçbir zaman yanıt vermeyen bir test proxysi kurduk; ardından aynı isteği iki farklı süre sınırı türüyle çalıştırdık (adres 203.0.113.10:8080, user123:pass456 olarak yeniden düzenlenmiştir):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comkomutucurl: (28) Proxy CONNECT aborted due to timeoutçıktısını verir. Bu sınır yalnızca bağlantı aşamasını kapsar.- Bunun yerine
-m 10(tüm aktarım için geçerli bir sınır) kullanıldığındacurl: (28) Connection timed out after 10002 millisecondshatası alınır. - Aynı proxyye yönlendirilen Chromium
ERR_TIMED_OUTbildirir; proxy denetleyici isetimeoutsonucu verir.
Nedenler, en olasıdan başlayarak
- Ağınız proxy bağlantı noktasını sessizce engeller. Ofis, otel ve kampüs Wi-Fi ağları, olağan dışı bağlantı noktalarına giden paketleri reddetmek yerine çoğunlukla düşürür; bu da sonsuza kadar beklemenize yol açar.
- Kodunuzdaki zaman aşımı süresi çok kısa. Uzak bir ülkedeki proxy el sıkışma için biraz daha fazla zamana ihtiyaç duyar; 2–3 saniyelik bir sınır, sorunsuz çalışan bir proxy ile bağlantıyı kesebilir.
- Proxy veya hedef sunucu aşırı yüklü. Proxy bağlantıyı kabul eder ancak web sitesini bekler ve sabrınız önce tükenir.
- Yanlış IP. Yanıt vermeyen bir adrese yol açan yazım hataları ret yanıtı yerine sessizlik üretir.
Ortama göre çözümler
- Windows/Chrome: aynı proxyyi telefonunuzun hücresel verisi üzerinden deneyin. Zaman aşımı kaybolursa, asıl ağ engelliyordur; proxy ve güvenlik duvarını kontrol etme kılavuzunu okuyun.
- Antidetect tarayıcılar: proxy test butonunun genellikle sabit bir bekleme süresi vardır. Birkaç kez yeniden deneyin ve yalnızca bazı profiller başarısız oluyorsa, proxy satırlarını çalışan bir profille karşılaştırın.
- Telegram: proxyyi etkinleştirdikten sonra bağlanıyor durumunda takılı kalması da genellikle bir zaman aşımıdır; Telegram üzerinde değişiklik yapmadan önce proxyyi denetleyicide test edin.
- Python requests: bağlanmak için 10 saniye ve okumak için 30 saniye anlamına gelen
timeout=(10, 30)parametresini iletin. Bağlantının nerede takıldığını görmek içinrequests.exceptions.ConnectTimeoutverequests.exceptions.ReadTimeouthatalarını ayrı ayrı yakalayın ve sınırsız bir zaman aşımı yerine aralıklı birkaç yeniden deneme ekleyin. - curl: yalnızca bağlantı adımını ölçmek için
--connect-timeout, tüm komutu sınırlandırmak için ise-mparametresini kullanın.
Zaman aşımı mı yoksa sadece yavaş mı?
Yavaş bir proxy yine de yanıt verir, sadece geç kalır. Proxy hız testi gerçek yanıt sürelerini gösterir; bu süreler yazılımınızın zaman aşımı sınırına yakınsa, sınırı artırın veya hedefe daha yakın bir ülkedeki proxyyi seçin. Tekrarlanan testler hiçbir zaman yanıt almıyorsa, bu gerçek bir zaman aşımıdır ve sonraki adım denetleyici sonucuyla birlikte bir destek talebi açmaktır.
Adım adım
- 1
Zaman aşımını denetleyici ile doğrulayın
Proxy satırını proxy denetleyici aracına yapıştırın.
timeoutsonucu, bekleme sınırı içinde hiçbir yanıtın gelmediği anlamına gelir. - 2
Kapsamı daraltmak için ağ değiştirin
Hücresel veri üzerinden tekrar deneyin. Çalışırsa sorun asıl ağda veya ağın güvenlik duvarındadır.
- 3
Yanıt süresini ölçün
Proxynin yavaş mı yoksa sessiz mi olduğunu görmek için proxy hız testi aracını çalıştırın.
- 4
Yazılımınızdaki zaman aşımlarını ve yeniden denemeleri ayarlayın
Bağlantı sınırını yaklaşık 10 saniyeye yükseltin, yeniden denemeler ekleyin ve görevi tekrar çalıştırın.
Sıkça sorulan sorular
Proxy zaman aşımı, proxynin çalışmadığı anlamına mı gelir?
Her zaman değil. Birçok zaman aşımı, kullanıcının ağının bağlantı noktasını engellemesinden kaynaklanır. Bir karara varmadan önce başka bir ağdan test edin.
Kod içinde proxyler için hangi zaman aşımı süresini ayarlamalıyım?
Bağlantı için yaklaşık 10 saniye ve okuma için 30 saniye makul bir başlangıç noktasıdır. Uzak proxyler veya ağır sayfalar daha fazlasına ihtiyaç duyabilir.
Neden yalnızca belirli web siteleri proxy üzerinden zaman aşımına uğruyor?
Bu durumda proxy çalışıyordur ve hedef site yavaştır ya da engelliyordur. Site sessizlik yerine 502 hatası veriyorsa, 502 Bad Gateway sayfasına bakın.
Zaman aşımının reddedilen bağlantıdan farkı nedir?
Bağlantı reddi anında döner; zaman aşımı ise sınıra kadar bekler. Bkz. bağlantıları reddeden proxy sunucusu.
Pazarınıza yakın bir proxy seçin
VinaProxy, hedefinize yakın kalabilmeniz için Vietnam, ABD, Japonya, Güney Kore, Singapur, Birleşik Krallık ve Hong Kong'da IP'ler sunar.
Fiyatları görün