Neden çoğu proxy çalışmaz?#
Ücretsiz bir proxy; yanlış yapılandırılmış bir sunucu, sahibinin haberi olmayan açık bir port ya da kısa süreliğine paylaşılan bir kaynak olabilir. Sahibi sunucuyu kapattığında, güvenlik duvarını düzelttiğinde ya da yoğunluk arttığında adres sessizce devre dışı kalır. Bir kaydın listede görünmesi, o anda çalıştığının kanıtı değildir; yalnızca bir kaynağın bir zamanlar o adresi bildirdiği anlamına gelir.
Bu yüzden iki kavramı ayırmak gerekir. Erişilebilirlik, adresin ve portun bağlantıya yanıt vermesidir. Kullanılabilirlik ise bu proxy üzerinden gerçekten bir web sayfasını makul sürede çekebilmenizdir. İkincisi birincisinden daha dar bir kümedir ve asıl aradığınız odur.
Çalışan proxy bulma akışı#
- Kaynak seçimi: Kaynağın nereden ve hangi sıklıkla güncellendiğini bilin.
- Tekilleştirme: Aynı adresi farklı kaynaklardan alıyorsanız tek kayda indirin.
- Protokol tespiti: Aynı port HTTP, HTTPS ya da SOCKS olabilir; doğru protokolle deneyin.
- Bağlantı ve yanıt testi: Proxy üzerinden gerçek bir istek gönderin, sürenin ve yanıt kodunun makul olup olmadığına bakın.
- Hedef testi: Kullanacağınız siteye özgü bir istekle son kez sınayın.
1. Kaynağı ve tazeliği değerlendirin#
Güncellenme zamanı belirtilmeyen ya da çok eski kayıtlar içeren listeler zaman kaybettirir. Mümkünse son kontrol zamanını gösteren bir kaynak seçin ve en taze kayıtlardan başlayın. Ücretsiz Proxy Listesi sayfamızda her kayıt için son kontrol bilgisi, kaynak adı ve durum etiketi gösterilir; hangi kaynaklardan ve hangi yöntemle derleme yapıldığını Veri Kaynakları ve Yöntem sayfasında okuyabilirsiniz.
2. Filtreleri akıllıca kullanın#
Gereksiz kaydı baştan elemek zamandan kazandırır. Hedefiniz bir web sitesiyse HTTP ve HTTPS kayıtlarına odaklanın; web dışı bir uygulama için SOCKS5 gerekebilir. Konum önemliyse ülkeye göre süzün, örneğin Türkiye proxy listesi sayfasına bakın. Gecikme sınırı koymak ve son kontrol aralığını daraltmak, test edeceğiniz kayıt sayısını azaltır. Protokol bazlı sayfalardan HTTP ve SOCKS5 listelerine doğrudan ulaşabilirsiniz.
3. Tek tek hızlıca sınayın#
Birkaç adresi elle denemek için Proxy Kontrol aracını kullanabilirsiniz. Komut satırında ise curl, sonucu hem durum kodu hem süre olarak verir:
curl -x "http://proxy.example.com:PORT" \
--max-time 10 \
-s -o /dev/null \
-w "kod=%{http_code} sure=%{time_total}s\n" \
https://example.com/4. Toplu doğrulama#
Yüzlerce adresi elle denemek mümkün değildir. Aşağıdaki Python betiği, her satırı ip:port biçiminde yazdığınız bir dosyayı eşzamanlı olarak sınar ve çalışanları ayrı bir dosyaya yazar. Eşzamanlılığı düşük tutun; hem kendi ağınızı yormamış olursunuz hem de hedef siteye gereksiz yük bindirmezsiniz.
import requests
from concurrent.futures import ThreadPoolExecutor
TARGET = "https://example.com/"
def check(address):
proxy = f"http://{address}"
try:
r = requests.get(
TARGET,
proxies={"http": proxy, "https": proxy},
timeout=8,
)
return address if r.status_code == 200 else None
except requests.RequestException:
return None
with open("proxies.txt", encoding="utf-8") as f:
addresses = [line.strip() for line in f if line.strip()]
with ThreadPoolExecutor(max_workers=10) as pool:
results = pool.map(check, addresses)
working = [a for a in results if a]
with open("working.txt", "w", encoding="utf-8") as f:
f.write("\n".join(working))
print(f"{len(working)} / {len(addresses)} proxy çalışıyor")Betik yalnızca HTTP proxy’leri sınar. SOCKS5 kayıtları için proxy URL’sini socks5h:// ile başlatın ve requests[socks] bileşenini kurun. Protokolü bilmediğiniz bir kayıtta, sırayla HTTP, SOCKS5 ve SOCKS4 ile denemek gerekir; bir proxy’nin doğru protokolle sınanmaması, çalışan kaydı çalışmıyor göstermenin sık nedenlerinden biridir.
5. Hedefe özgü test yapın#
Genel bir adreste çalışan proxy, sizin kullanacağınız sitede çalışmayabilir. Bazı hizmetler ücretsiz proxy adreslerinin bilinen aralıklarını baştan reddeder; bazıları ise yanıtı yavaşlatır. Gerçek hedef için kısa bir deneme yapmadan listeyi “çalışan” saymayın. Ayrıca bir proxy’nin hangi anonimlik seviyesinde olduğu da ayrı bir konudur; ayrıntı için Proxy Anonimlik Seviyeleri rehberine bakın.
Sonuçları kaydederken yalnızca çalışan adresleri değil, ölçtüğünüz süreyi ve test zamanını da saklayın. Böylece en hızlı yanıt veren kayıtları öne alabilir, belirli bir süreden eski sonuçları da otomatik olarak geçersiz sayabilirsiniz. Küçük ama düzenli bir kayıt tutmak, listenin kalitesini zaman içinde izlemenizi sağlar.
Doğrulamada sık yapılan hatalar#
- Çok kısa zaman aşımı: Ücretsiz proxy’ler çoğunlukla yavaştır. Süreyi iki saniyeye indirmek, çalışan kayıtları da elemenize yol açar; sekiz ile on saniye arası makul bir başlangıçtır.
- Tek bir deneme: Geçici bir yoğunluk, çalışan bir proxy’yi bir kez başarısız gösterebilir. Önemli adaylar için ikinci bir deneme yapın.
- Yanlış hedef: Yalnızca HTTP sitesiyle denenen bir proxy, HTTPS bağlantı kurma yeteneğini (CONNECT) kanıtlamaz. Hem HTTP hem HTTPS hedefiyle sınayın.
- Yerel güvenlik duvarını unutmak: Kendi ağınız ya da güvenlik yazılımınız giden bağlantıların bir kısmını engelliyor olabilir; sonuçları yorumlamadan önce tek bir bilinen proxy ile ortamı doğrulayın.
- Sonucu saklayıp unutmak: Doğrulama zamanını kayda geçirmediğinizde listenin ne kadar taze olduğunu bilemezsiniz.
Çalışan listeyi ne kadar süre kullanabilirsiniz?#
Çalışan listenin ömrü genellikle kısadır; bugün çalışan bir kayıt yarın çalışmayabilir. Bu yüzden bir kez derlenen listeyi uzun süre saklamak yerine, işten hemen önce yeniden doğrulamak daha verimlidir. Düzenli ve kararlı bir bağlantıya ihtiyacınız varsa, sürekli yeniden doğrulama yükünü üstlenmek yerine ücretli bir hizmeti değerlendirmek daha ekonomik olabilir; bu karşılaştırmayı Ücretsiz Proxy ve Ücretli Proxy Farkları rehberinde ele alıyoruz.