Fiyatlar müşteri panelindeki güncel paketlerle eşleştirildi · 3 Kasım 2026Fiyatlar 3 Kasım 2026 itibarıyla güncelFiyatları gör
Kullanım alanı

API ve Otomasyon Projelerinde Proxy Kullanımı

Kodunuzun proxy üzerinden güvenilir biçimde çalışması için yalnız adres girmek yetmez: zaman aşımı, yeniden deneme, backoff ve havuz yönetimi de doğru kurulmalıdır. Bu sayfa doğrudan kopyalanabilir örnekler sunar.

  • Python ve Node.js örnekleri
  • Backoff ve Retry-After
  • Havuz yönetimi
API ve Otomasyon Projelerinde Proxy Kullanımı görseli
Aylık 400 ₺'den başlayan

Otomasyonda proxy neden ayrı bir mühendislik konusu?

Tarayıcıda proxy kullanmak tek bir ayar alanından ibarettir. Kodda ise her isteğin hangi çıkıştan gideceği, bir çıkış başarısız olduğunda ne yapılacağı ve hedef sunucu yavaşla dediğinde nasıl bekleneceği sizin sorumluluğunuzdadır. Bu kararlar doğru verilmediğinde betik ya gereksiz yere başarısız olur ya da hedef sistemi gereğinden fazla yükler.

İyi bir proxy istemcisinin dört temel parçası vardır: makul zaman aşımları, yalnız geçici hatalarda yapılan sınırlı sayıda yeniden deneme, denemeler arasında giderek artan bekleme süresi ve birden fazla proxy varsa bunlar arasında kontrollü geçiş. Aşağıdaki örnekler bu dört parçayı içerir.

Bir de gözlemlenebilirlik vardır. Her isteğin hangi proxy'den gittiğini, kaç kez yeniden denendiğini ve hangi yanıt koduyla sonuçlandığını kaydetmek, sorunlu bir çıkışı hızla ayırmanızı sağlar. Basit bir günlük satırı bile, “betik neden yavaşladı” sorusunun cevabını tahmin etmek yerine ölçmenize imkân verir. Kimlik bilgilerini günlüğe yazmamaya dikkat edin; proxy adresini kullanıcı adı ve şifre olmadan kaydetmek yeterlidir.

Python: requests ile havuz ve yeniden deneme

urllib3'ün Retry sınıfı 429 ve 5xx yanıtlarında üstel bekleme uygular, Retry-After başlığına uyar. Bir proxy tamamen yanıt vermezse sıradaki oturuma geçilir.

import random
import time

import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

# Müşteri panelindeki bağlantı bilgileri (örnek değerler)
PROXY_HAVUZU = [
    "http://kullanici:sifre@proxy.example.com:8000",
    "http://kullanici:sifre@proxy.example.com:8001",
    "http://kullanici:sifre@proxy.example.com:8002",
]


def oturum_olustur(proxy_url):
    yeniden_dene = Retry(
        total=4,
        backoff_factor=1.5,              # 1.5 sn, 3 sn, 6 sn ... bekler
        status_forcelist=[429, 500, 502, 503, 504],
        allowed_methods=["GET", "HEAD"],
        respect_retry_after_header=True,
    )
    oturum = requests.Session()
    adaptor = HTTPAdapter(max_retries=yeniden_dene)
    oturum.mount("http://", adaptor)
    oturum.mount("https://", adaptor)
    oturum.proxies = {"http": proxy_url, "https": proxy_url}
    return oturum


OTURUMLAR = [oturum_olustur(p) for p in PROXY_HAVUZU]


def getir(url):
    # Havuzdaki oturumları karıştırıp sırayla dener
    for oturum in random.sample(OTURUMLAR, k=len(OTURUMLAR)):
        try:
            yanit = oturum.get(url, timeout=(5, 20))
            yanit.raise_for_status()
            return yanit
        except requests.RequestException as hata:
            print("Proxy başarısız, sıradakine geçiliyor:", hata)
            time.sleep(2)
    raise RuntimeError("Havuzdaki tüm proxy'ler başarısız oldu")


if __name__ == "__main__":
    print(getir("https://httpbin.org/ip").json())

Örnek, urllib3 1.26 ve üzeri sürümlerde çalışır. Kimlik bilgilerini kod yerine ortam değişkeninden okumanızı öneririz.

Node.js: undici ve axios ile proxy

undici, Node.js'in yerleşik fetch altyapısıdır; ProxyAgent ile istek başına proxy tanımlanır. axios kullanan projelerde https-proxy-agent paketi en sorunsuz yoldur.

// npm install undici
const { ProxyAgent, fetch } = require('undici');

const kimlik = Buffer.from('kullanici:sifre').toString('base64');
const ajan = new ProxyAgent({
  uri: 'http://proxy.example.com:8000',
  token: 'Basic ' + kimlik,
});

const bekle = (ms) => new Promise((r) => setTimeout(r, ms));

async function getir(url, deneme = 0) {
  const yanit = await fetch(url, { dispatcher: ajan });
  if ((yanit.status === 429 || yanit.status >= 500) && deneme < 4) {
    const retryAfter = Number(yanit.headers.get('retry-after'));
    const gecikme = retryAfter > 0 ? retryAfter * 1000 : 1000 * 2 ** deneme;
    await bekle(gecikme + Math.random() * 500); // jitter ekle
    return getir(url, deneme + 1);
  }
  return yanit;
}

getir('https://httpbin.org/ip')
  .then((r) => r.json())
  .then(console.log)
  .catch(console.error);

axios ile HTTPS hedeflerine HTTP proxy üzerinden giderken yerleşik proxy seçeneği yerine ajan kullanmak, CONNECT tünelinin doğru kurulmasını sağlar.

Hangi otomasyon için hangi proxy?

İş türüÖnerilen ürünNeden
Kayıtlı API anahtarıyla entegrasyonStatik ISP veya datacenterKota anahtara bağlıdır; sabit IP whitelist ve kayıt takibini kolaylaştırır
Oturumsuz, çok sayıda sayfa okumaRotating residentialYük farklı çıkışlara dağılır
Çok adımlı form veya sepet akışıResidential sticky oturumAkış boyunca aynı IP korunur
Mobil uygulama API testleriMobil TR veya rotating mobilOperatör ağı koşulları test edilir
Yüksek hacimli sürekli trafikSınırsız residentialPlan adındaki hız kademesiyle kota yerine bant genişliği

Sık görülen hatalar

407 Proxy Authentication Required
Kullanıcı adı veya şifre hatalıdır ya da şifrede URL'de özel anlamı olan karakterler vardır. Bu karakterleri yüzde kodlamasıyla yazın veya IP whitelist yöntemine geçin.
SSL: WRONG_VERSION_NUMBER veya el sıkışma hatası
Proxy adresini https:// ile yazmış olabilirsiniz. HTTP proxy'ler için şema http:// olmalıdır; hedef site HTTPS olsa bile tünel CONNECT ile kurulur.
Bağlantı zaman aşımına uğruyor
Önce adresi proxy kontrol aracıyla test edin. Bağlantı ve okuma zaman aşımlarını ayrı ayrı tanımlayın; tek ve çok uzun bir zaman aşımı takılan istekleri gizler.
Yeniden denemeler sorunu büyütüyor
Yalnız geçici hatalarda (429, 502, 503, 504, bağlantı kopması) yeniden deneyin. 400, 401, 403 ve 404 gibi kalıcı hatalarda yeniden denemek yalnız gereksiz trafik üretir.
SOCKS5 ile requests çalışmıyor
requests'te SOCKS desteği için requests[socks] paketini kurun ve DNS çözümlemesinin proxy tarafında yapılması için socks5h:// şemasını kullanın.

Otomasyon projeleri için paketler

API entegrasyonları için statik ISP, sayfa okuma ağırlıklı işler için GB kotalı residential paketler.

10 Adet Türkiye ISP Proxy
Statik IPTürkiyeHTTPSOCKS5
550 ₺/ ay
  • 3 Aylık1.545 ₺
  • 6 Aylık2.850 ₺
  • 12 Aylık4.999 ₺
Proxy Satın Al Plan no. 117 · Panelde: 10 Adet IPv4 Residential Proxy
20 Adet Türkiye ISP Proxy
Statik IPTürkiyeHTTPSOCKS5
1.000 ₺/ ay
  • 3 Aylık2.750 ₺
  • 6 Aylık5.000 ₺
  • 12 Aylık9.250 ₺
Proxy Satın Al Plan no. 118 · Panelde: 20 Adet IPv4 Residential Proxy
10GB Residential Rotating Proxy
RotatingGB kotalı
650 ₺/ ay
Proxy Satın Al Plan no. 141
50GB Residential Rotating Proxy
RotatingGB kotalı
2.500 ₺/ ay
Proxy Satın Al Plan no. 143
100 IPv4 Datacenter Proxy
IPv4Datacenter
400 ₺/ ay
Proxy Satın Al Plan no. 149

Sipariş, müşteri panelinde (Türkçe arayüz) tamamlanır. Fiyatlara vergiler dahil değildir; tutarlar 3 Kasım 2026 itibarıyla panelle eşleştirilmiştir. Yardım için WhatsApp.

Kod sizin, kurallar herkesin

Otomasyon yaptığınız hizmetin API koşullarına, hız sınırlarına ve kişisel veri mevzuatına uymak kullanıcının sorumluluğundadır. Örnek kodlar eğitim amaçlıdır; üretime almadan önce kendi ortamınızda gözden geçirin.

SSS

Sıkça Sorulan Sorular

Proxy havuzunu rastgele mi sırayla mı kullanmalıyım?

Bağımsız isteklerde rastgele seçim yükü dengeli dağıtır. Bir oturum boyunca aynı IP gerekiyorsa, oturumu belirli bir proxy'ye sabitleyin ve yalnız o proxy başarısız olduğunda değiştirin.

Üstel backoff neden gerekli?

Hedef sunucu yoğun olduğunda tüm istemcilerin aynı anda yeniden denemesi yükü daha da artırır. Bekleme süresini her denemede katlamak ve küçük bir rastgele gecikme eklemek, yükün zamana yayılmasını sağlar.

Proxy kimlik bilgilerini kodda tutabilir miyim?

Önermiyoruz. Ortam değişkeni, gizli anahtar deposu veya .env dosyası kullanın ve bu dosyayı sürüm kontrolüne eklemeyin.

Rotating proxy kullanırken çerezler sorun olur mu?

Aynı oturum içinde IP değişirken çerezleri korumak bazı sitelerde tutarsızlık yaratır. Oturum gerektiren akışlarda sticky oturum, bağımsız isteklerde çerezsiz istemci kullanın.

IP whitelist mi kullanıcı adı-şifre mi?

Sunucunuzun genel IP'si sabitse whitelist, kodda kimlik bilgisi taşımamanın pratik bir yoludur. Değişken IP'li ortamlarda veya dizüstü bilgisayarlarda kullanıcı adı-şifre daha esnektir.

Örnek kodlarda neden httpbin.org kullanılıyor?

httpbin.org/ip, isteğin hangi IP'den geldiğini döndüren herkese açık bir test uç noktasıdır. Proxy'nin devrede olduğunu doğrulamak için kullanışlıdır; kendi testlerinizde dilerseniz IP adresim aracımızı da kullanabilirsiniz.

Doğru proxy ile hemen başlayın

Paketleri karşılaştırın, ihtiyacınıza uygun olanı seçin. Kararsız kaldığınız noktada WhatsApp üzerinden sorabilirsiniz.

WhatsApp