Proxy bağlantı hataları genellikle üç ana kaynaktan doğar: hatalı kimlik doğrulama bilgileri, güvenlik duvarlarının ağ düzeyindeki engellemeleri veya hedef sitenin proxy IP'sini tespit edip kara listeye alması. Bu sorunları çözmek, "Proxy-Authorization" başlığını doğrulamakla başlayan ve hedef sunucunun kullandığı TCP el sıkışmasının ve TLS parmak izinin analizine kadar uzanan sistematik bir yaklaşım gerektirir.
1. Kimlik doğrulama ve yetkilendirme hataları
Proxy entegrasyonundaki en sık karşılaşılan engel 407 Proxy Authentication Required hatasıdır. Bu durum kodu, istemcinin hedef siteye değil, proxy sunucusunun kendisine geçerli kimlik bilgileri sunamadığını gösterir. Kimlik doğrulama genellikle iki yoldan biriyle yapılır: kullanıcı adı/parola doğrulaması veya IP beyaz listesi.
Kullanıcı adı ve parola sorunları
Otomatikleştirilmiş ortamlarda geliştiriciler sıklıkla paroladaki özel karakterlerle boğuşur. GProxy parolanız @, : veya / gibi semboller içeriyorsa ve bunları bir URL dizesi içinde iletiyorsanız (ör. http://user:p@[email protected]:8000), kütüphane URI yapısını yanlış yorumlayabilir. Paroladaki @ sembolünün kimlik bilgileri ile host arasındaki ayırıcı olarak okunmaması için bu bilgileri her zaman URL-encode edin.
IP beyaz listesi uyuşmazlıkları
IP tabanlı kimlik doğrulamada proxy sunucusu yalnızca belirli bir "Yetkili IP" adresinden gelen istekleri kabul eder. Sık görülen bir hata, geliştiricinin ofisteki yerel IP'sini beyaz listeye alması, ancak betiğin farklı bir çıkış IP'sine sahip bir bulut VPS'inde (AWS veya DigitalOcean gibi) çalışmasıdır. Bağlantınız proxy ağ geçidinden "Connection Refused" veya "403 Forbidden" ile reddediliyorsa, betiği çalıştıran makinenin genel internete görünen IP'sinin GProxy panelinizde tanımlı olanla eşleştiğini doğrulayın.
Linux terminalinde mevcut genel IP'nizi doğrulamak için şunu kullanın:
curl https://api.ipify.org
2. Ağ gecikmesi ve bağlantı zaman aşımları
Zaman aşımı, istemcinin proxy sunucusundan veya hedef siteden gelecek yanıtı tanımlı eşikten daha uzun süre beklemesiyle oluşur. Bu genellikle 504 Gateway Timeout veya ETIMEDOUT hatalarıyla kendini gösterir. Proxy ortamlarında gecikme birikimlidir: istemciden proxy'ye ve proxy'den hedefe geçen süreleri birlikte kapsar.
TCP el sıkışma hataları
Bağlantı ilk el sıkışma sırasında başarısız oluyorsa sorun genellikle ağ yolundadır. Yüksek güvenlikli kurumsal güvenlik duvarları standart dışı portları sıklıkla engeller. Standart web trafiği 80 ve 443 portlarını kullanırken, proxy hizmetleri sıklıkla 8000, 10000 veya 3128 gibi portları kullanır. Ağ ortamınız bu portları kısıtlıyorsa istemci GProxy ağ geçidine hiçbir zaman ulaşamaz.
DNS sızıntısı ve çözümleme hataları
Proxy kullanırken DNS çözümlemesi ideal olarak istemci tarafında (yerel DNS) değil, proxy sunucusu tarafında (uzak DNS) gerçekleşmelidir. İstemciniz isteği proxy'ye göndermeden önce engellenmiş bir alan adını yerel olarak çözmeye çalışırsa, bağlantı daha başlamadan başarısız olur. Burada yaygın çözüm, standart HTTP proxy'leri yerine SOCKS5 protokolünü kullanmaktır; çünkü SOCKS5 uzak DNS çözümlemesini yerel olarak destekler.
Zaman aşımı ayarlarını optimize etme
Python requests gibi kütüphanelerdeki varsayılan zaman aşımı ayarları residential proxy'ler için genelde fazla agresiftir. Residential IP'lerin gecikmesi (200ms–800ms), veri merkezi IP'lerine (50ms–150ms) kıyasla daha yüksek olabilir. Karmaşık scraping görevleri için en az 30 saniyelik bir zaman aşımı öneriyoruz.
import requests
proxies = {
"http": "http://user:[email protected]:8000",
"https": "http://user:[email protected]:8000",
}
try:
# Residential rotasyonu hesaba katmak için 30 saniyelik zaman aşımı ayarlayın
response = requests.get("https://example.com", proxies=proxies, timeout=30)
print(response.status_code)
except requests.exceptions.Timeout:
print("The request timed out. Consider increasing the timeout or checking proxy health.")
3. Protokol uyuşmazlıkları ve SSL/TLS hataları
Sık karışan bir konu, proxy protokolü ile hedef site protokolü arasındaki farktır. Bir https:// sitesine http:// proxy üzerinden erişebilirsiniz. Bu, CONNECT yöntemiyle yapılan "HTTP Tunneling" olarak bilinir.
SSL: CERTIFICATE_VERIFY_FAILED
Bu hata, istemci kütüphanesinin hedef sitenin SSL sertifikasını proxy üzerinden doğrulayamamasıyla ortaya çıkar. Nadiren proxy sağlayıcısından kaynaklanır; genellikle yerel CA (Sertifika Yetkilisi) paketiyle ilgili bir sorundur. Trafik denetimi için SSL şifre çözme (Man-in-the-Middle) yapan bir proxy kullanıyorsanız, proxy'nin kök sertifikasını makinenize kurmanız gerekir. Ancak standart GProxy kullanımında proxy şeffaf bir tünel gibi çalışır ve bu hata Python'daki certifi paketinizi güncelleyerek giderilmelidir.
HTTP ve SOCKS5 karşılaştırması
Doğru protokolü seçmek, belirli kullanım senaryoları için kritiktir. HTTP proxy'ler web scraping ve standart API çağrıları için mükemmelken, SOCKS5 daha çok yönlüdür.
| Özellik | HTTP proxy | SOCKS5 proxy |
|---|---|---|
| OSI katmanı | Katman 7 (Uygulama) | Katman 5 (Oturum) |
| Hız | Web trafiğinde daha hızlı | Ek yük nedeniyle biraz daha yavaş |
| UDP desteği | Yok | Var |
| Anonimlik | Yüksek (başlıkları temizler) | Çok yüksek (ham veri aktarımı) |
| Kullanım alanı | Scraping, SEO, sosyal medya | Oyun, torrent, VoIP |
4. Hedefe özgü yasaklar ve IP itibarı
Bazen proxy bağlantısı teknik olarak kusursuzdur ancak hedef site 403 Forbidden veya 429 Too Many Requests döner. Bu, sitenin IP adresini bot ya da otomatik scraper olarak işaretlediğini gösterir.
Residential ve veri merkezi itibarı
Veri merkezi IP'leri AWS veya Azure gibi sağlayıcılara ait aralıklara aittir. Bu aralıklar gerçek insan kullanıcılar tarafından nadiren kullanıldığından, siteler tüm bloğu kolayca engelleyebilir. Veri merkezi proxy'leri kullanırken sürekli 403 hatası alıyorsanız, GProxy'nin residential havuzuna geçmek en etkili çözümdür. Residential IP'ler internet servis sağlayıcıları (ISP) tarafından gerçek evlere atanır ve bu da onları gerçek organik trafikten neredeyse ayırt edilemez kılar.
429 hatalarıyla başa çıkma
429 hatası, istekleri çok hızlı gönderdiğiniz anlamına gelir. Büyük bir proxy havuzunuz olsa bile, tek bir giriş noktasından tek bir alan adına saniyede 100 istek göndermek hız limitlerini tetikleyebilir. Kodunuzda "Linear Backoff" veya "Exponential Backoff" stratejisi uygulamak, scraper'ınızın 429 hatasından sonra duraklamasını ve IP itibarının soğumasını sağlar.
User-Agent ve parmak izi tutarlılığı
Cloudflare veya Akamai gibi anti-bot sistemleri yalnızca IP adresine bakmaz. "Tarayıcı parmak izine" de bakarlar. Proxy IP'niz Almanya'daysa ancak User-Agent başlığınız yalnızca ABD'de yayınlanmış bir Chrome sürümünü gösteriyorsa ya da sistem saat diliminiz IP'nin konumuyla uyuşmuyorsa, site sizi engelleyebilir. Başlıklarınızın proxy IP'nizin özellikleriyle eşleştiğinden her zaman emin olun.
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
"Referer": "https://www.google.com/"
}
# User-Agent'ı gerçek bir kullanıcının beklenen profiliyle eşleştirin
response = requests.get("https://target-site.com", proxies=proxies, headers=headers)
5. cURL ile ileri düzey hata ayıklama
Karmaşık bir uygulamada bağlantı başarısız olduğunda ilk adım, uygulama mantığını proxy bağlantısından ayırmak olmalıdır. Bunun için sektör standardı komut satırı aracı curl'dür. El sıkışmanın veya kimlik doğrulamanın tam olarak nerede başarısız olduğunu gösteren ayrıntılı çıktı sağlar.
Verbose bayrağı
Tüm istek/yanıt başlıklarını ve bağlantı sırasını görmek için aşağıdaki komutu çalıştırın:
curl -v -x http://user:[email protected]:8000 https://httpbin.org/ip
Çıktıda şu satırlara bakın:
* Connected to proxy.gproxy.com (1.2.3.4) port 8000: ağ yolunun açık ve portun erişilebilir olduğu anlamına gelir.< HTTP/1.1 407 Proxy Authentication Required: kimlik bilgilerinizin veya IP beyaz listenizin hatalı olduğu anlamına gelir.< HTTP/1.1 200 OK: proxy'nin sorunsuz çalıştığı ve sorunların uygulama kodunuzda olduğu anlamına gelir.* SSL connection using TLSv1.3: güvenli tünelin kurulduğunu doğrular.
Rotasyonlu proxy'leri test etme
GProxy'nin rotasyonlu residential proxy'lerini kullanıyorsanız, curl komutunu her çalıştırdığınızda farklı bir IP adresi görmelisiniz. IP aynı kalıyorsa, sizi belirli bir süre aynı IP'de tutmak için tasarlanmış "Sticky Sessions" (kullanıcı adındaki oturum kimlikleri) özelliğini kullanıp kullanmadığınızı kontrol edin.
Önemli çıkarımlar
Başarılı proxy yönetimi; doğru yapılandırma, ağ farkındalığı ve hedef sitenin sınırlarına saygı arasında bir denge gerektirir. "Bozuk" görünen proxy'lerin çoğu aslında sağlayıcı kesintisinden değil, yanlış yapılandırılmış başlıklardan veya yerel ağ kısıtlamalarından kaynaklanır.
- Önce kimlik doğrulamayı kontrol edin: 407 hatası alıp almadığınızı görmek için
curl -vkullanın. Alıyorsanız GProxy panelinizde IP beyaz listesini ve kimlik bilgilerindeki yazım hatalarını tekrar gözden geçirin. - IP tiplerini görevlere göre eşleştirin: güvenliği düşük sitelerdeki yüksek hızlı ve yüksek hacimli görevler için veri merkezi proxy'leri kullanın. Sosyal medya, sneaker siteleri ve yüksek korumalı e-ticaret platformları için residential veya mobil proxy'ler kullanın.
- Hedefe saygı gösterin: rotasyon ve gecikmeler uygulayarak 429 hatalarından kaçının. Scraper'ınızın parmak izi tutarsız veya fazla agresifse 10.000 IP'lik bir havuz bile işe yaramaz.
Pratik ipucu 1: Ağır JavaScript doğrulamaları olan sitelere erişiyorsanız her zaman headless tarayıcı yönetim aracı (Playwright veya Selenium gibi) kullanın; standart HTTP kütüphaneleri CAPTCHA çözemez veya JS tabanlı bot tespit betiklerini çalıştıramaz.
Pratik ipucu 2: Başarı oranlarınızı izleyin. Başarı oranınız %80'in altına düşerse, User-Agent dizelerinizi değiştirmenin veya bölgesel engelleri aşmak için GProxy ayarlarından proxy coğrafi konumunuzu değiştirmenin zamanı gelmiştir.
Bunları da okuyun
DIY Proxy Farm: How to Build and Configure
Proxy API Entegrasyonu: Geliştiriciler İçin Otomasyon
503 hatası ve proxy timeout: teşhis ve çözüm
Proxy ile 502 Bad Gateway hatası: nasıl düzeltilir
407 Proxy Authentication Required hatası: nedenleri ve çözümü
