Oturum kalıcılığı olarak da bilinen sticky oturumlar, istemcinin belirli bir süre boyunca birbirini izleyen birden fazla istekte aynı IP adresini korumasını sağlayan bir proxy yapılandırmasıdır. Bu mekanizma, belirli bir kullanıcıdan veya bottan gelen tüm trafiğin aynı çıkış düğümü üzerinden yönlendirilmesini sağlar; böylece hedef sunucu, hesap girişleri veya çok adımlı ödeme akışları gibi hassas görevler sırasında doğal olmayan IP rotasyonlarını tespit edemez.
Sticky oturumların teknik mimarisi
Standart bir rotasyonlu proxy kurulumunda, proxy ağ geçidi her bir HTTP isteği için havuzdan yeni bir IP adresi atar. Bu, anonimliğin ve rate limit'ten kaçınmanın öncelikli olduğu yüksek hacimli veri kazıma işleri için idealdir; ancak birçok modern web uygulamasının gerektirdiği durum bilgisini (statefulness) bozar. Sticky oturumlar bu sorunu, yük dengeleyici veya proxy ağ geçidi düzeyinde bir kalıcılık katmanı ekleyerek çözer.
Bir istemci "sticky" parametresiyle istek başlattığında, GProxy ağ geçidi kullanıcının bağlantısını belirli bir çıkış düğümüne (bir IP adresine) bağlar. Bu bağlama genellikle bir Session ID ile korunur. İstemci bu benzersiz tanımlayıcıyı bağlantı dizesine dahil ettiği sürece ağ geçidi, trafiği tam olarak aynı residential veya veri merkezi peer'i üzerinden yönlendirmeye çalışır. Bu kalıcılık sonsuz değildir; sağlayıcıya ve alttaki peer'in kararlılığına bağlı olarak genellikle 1 ila 60 dakika arasında değişen bir Time-to-Live (TTL) değeriyle yönetilir.
Ağ geçidi oturumları nasıl izler
Bu oturumların izlenmesi proxy kimlik doğrulama dizesi üzerinden gerçekleşir. Kullanıcı, statik bir username:password kullanmak yerine oturuma özgü bir sonek ekler. Örneğin: user-customer123-session-uniqueid123:password. Ağ geçidi "uniqueid123" değerini ayrıştırır ve dahili yönlendirme tablosunu kontrol eder. Bu ID zaten aktif bir IP'ye eşlenmişse trafik oraya iletilir. Yeni bir ID ise ağ geçidi yeni bir IP seçer ve yeni bir eşleme oluşturur.

Rotasyonlu ve sticky proxy'ler: karşılaştırmalı analiz
Rotasyonlu ve sticky proxy'ler arasındaki seçim tamamen hedef sitenin güvenlik mimarisine ve görevin niteliğine bağlıdır. Yanlış türü kullanmak anında IP yasaklarına veya oturum sıfırlanmalarına yol açabilir.
| Özellik | Rotasyonlu proxy'ler (istek başına) | Sticky oturumlar (kalıcı) |
|---|---|---|
| IP değişim sıklığı | Her istekte | Sabit süre (örn. 1, 10 veya 30 dk) |
| En iyi kullanım alanı | Büyük ölçekli web taraması, SEO denetimleri | E-ticaret, sosyal medya, hesap yönetimi |
| Tespit riski | Düşük (yüksek IP çeşitliliği) | Orta (tutarlı parmak izi) |
| Oturum kararlılığı | Yok | Yüksek (oturum açma durumunu korur) |
| Karmaşıklık | Düşük | Orta (session ID yönetimi gerektirir) |
Sticky oturumlar için kritik kullanım senaryoları
Web sunucularının kullanıcı durumunu yönetme biçimi nedeniyle, rotasyonlu proxy kullanmanın yalnızca verimsiz değil, teknik olarak imkânsız olduğu belirli senaryolar vardır.
1. E-ticaret ve "sneaker" botları
Amazon, Shopify veya Nike gibi e-ticaret platformları karmaşık oturum yönetimi kullanır. Sepete bir ürün eklediğinizde, o sepet genellikle bir çerez ile ziyaretçinin IP adresinin birleşimine bağlanır. IP adresi "Sepete Ekle" isteği ile "Ödeme" isteği arasında değişirse, sunucunun güvenlik katmanı (Akamai veya Cloudflare gibi) bu etkinliği "oturum ele geçirme" girişimi olarak işaretleyebilir. Sonuç: boş sepet veya engellenmiş işlem. Sticky oturumlar, botun ürün keşfinden son ödemeye kadar aynı bağlantıda kalan gerçek bir alıcıyı taklit etmesini sağlar.
2. Sosyal medya hesap yönetimi
Birden fazla Instagram, TikTok veya LinkedIn hesabını yönetmek aşırı IP tutarlılığı gerektirir. Sosyal ağlar IP'nin ASN'sini (Autonomous System Number) ve coğrafi konumunu izler. Bir hesaba New York'taki bir IP'den erişilir ve 10 saniye sonra Los Angeles'taki bir IP'den erişilirse (rastgele rotasyonda olan budur), hesap derhal şüpheli etkinlik için işaretlenir. GProxy'nin sticky oturumları, bir hesap yöneticisinin tek bir residential IP üzerinde 30 dakikalık bir etkinlik penceresi sürdürmesini sağlar ve gerçek bir mobil veya ev kullanıcısını taklit eder.
3. Çok sayfalı kazıma ve SPA'lar
Single Page Application'lar (SPA) ve yoğun AJAX çağrıları kullanan siteler, veriyi yüklemek için genellikle bir istek dizisi gerektirir. Örneğin bir seyahat sitesi önce bir arama isteği, ardından bir "daha fazla yükle" isteği, ardından bir "detaylar" isteği isteyebilir. Bu istekler farklı IP'lerden gelirse backend istekleri ilişkilendiremeyebilir; bu da 403 Forbidden hatalarına veya parçalı veriye yol açar. Sticky oturumlar, sunucuyla yapılan "el sıkışmanın" kazıma dizisi boyunca bozulmadan kalmasını sağlar.
4. Finansal hizmetler ve bankacılık
Fintech uygulamaları IP değişikliklerine en duyarlı olanlardır. Bir bankacılık API'sine veya bir kripto borsasına rotasyonlu proxy ile erişmek 2FA (iki faktörlü kimlik doğrulama) istemlerini veya geçici hesap dondurmalarını tetikler. Sticky oturumlar, güvenlik uyarılarını tetiklemeden otomatik bakiye kontrolleri veya işlem emirleri gerçekleştirmek için gereken kararlılığı sağlar.

Sticky oturumları kodla uygulama
Sticky oturumları etkili biçimde kullanmak için session ID'yi kodunuz içinde yönetmeniz gerekir. Aşağıda GProxy ile sticky oturum sürdürmek için Python ve requests kütüphanesini kullanan pratik bir örnek yer alıyor.
import requests
import uuid
# Bu göreve özel benzersiz bir session ID üret
# Bu ID, GProxy ağ geçidine aynı IP'yi korumasını söyler
session_id = str(uuid.uuid4())[:8]
# Oturum bayrağıyla birlikte GProxy kimlik bilgileri
# Biçim: username-session-{id}:password
proxy_user = f"gproxy_user_12345-session-{session_id}"
proxy_pass = "your_password"
proxy_host = "proxy.gproxy.com"
proxy_port = "8000"
proxy_url = f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}"
proxies = {
"http": proxy_url,
"https": proxy_url
}
session = requests.Session()
session.proxies.update(proxies)
try:
# İlk istek: ağ geçidi bu session ID'ye yeni bir IP atar
res1 = session.get("https://api.ipify.org?format=json", timeout=10)
initial_ip = res1.json()['ip']
print(f"Initial IP assigned: {initial_ip}")
# Sonraki istek: ağ geçidi aynı session ID'yi görür ve IP'yi korur
res2 = session.get("https://api.ipify.org?format=json", timeout=10)
current_ip = res2.json()['ip']
print(f"Second request IP: {current_ip}")
if initial_ip == current_ip:
print("Success: Sticky session maintained.")
else:
print("Warning: IP has changed.")
except Exception as e:
print(f"Error: {e}")
Sticky oturumların zorlukları
Sticky oturumlar kararlılık sağlasa da teknik engellerden muaf değildir. Dayanıklı otomasyon araçları geliştirmek için bu sınırlamaları anlamak hayati önemdedir.
IP ölümü ve peer kopması
Residential proxy dünyasında IP adresleri gerçek ev kullanıcılarına aittir. Bir kullanıcı yönlendiricisini kapatırsa veya cihazı çevrimdışı olursa, o IP adresi havuzdan kaybolur. Sticky oturumunuz 30 dakikaya ayarlı olsa bile peer 5. dakikada kopuyorsa oturum fiilen ölmüştür. GProxy bunu, mevcut session ID'ye otomatik olarak yeni bir IP atayarak yönetir; ancak hedef web sitesinin bakış açısından IP değişmiştir. Kodunuz bu "oturum ortası" rotasyonlarını çerezleri yenileyerek veya gerekirse yeniden giriş yaparak ele alabilmelidir.
Maksimum süre sınırları
Çoğu sağlayıcı stickiness için katı bir üst sınır uygular. Bir residential IP'yi 60 dakikadan uzun süre korumak, residential ağlardaki devir hızı nedeniyle istatistiksel olarak zordur. Göreviniz aynı IP üzerinde 5 saatlik kesintisiz bağlantı gerektiriyorsa residential proxy'ler doğru seçim olmayabilir; ayrılmış veri merkezi IP'leri veya ISP proxy'leri daha uygun olur.
Havuz tükenmesi
Aynı anda binlerce benzersiz session ID oluşturursanız, fiilen binlerce benzersiz IP talep etmiş olursunuz. Hedeflemeniz fazla darsa (örn. belirli küçük bir şehir ve belirli küçük bir ISP), mevcut sticky slotlarını tüketebilir ve bağlantı zaman aşımlarına ya da ağ geçidinin rastgele rotasyona geri düşmesine yol açabilirsiniz.
Oturum kalıcılığını yönetmek için en iyi uygulamalar
- Mantıklı oturum adlandırması: kodunuzda açıklayıcı session ID'ler kullanın. Rastgele dizeler yerine
account_1_checkoutgibi ID'ler tercih edin. Bu, GProxy panelinde proxy loglarını incelerken hata ayıklamayı çok kolaylaştırır. - Sticky süresini göreve göre ayarlayın: 2 dakika süren bir görev için 60 dakikalık sticky oturum belirlemeyin. Bu, yüksek kaliteli IP'leri gereksiz yere meşgul eder. Kritik işlem tamamlandığında session ID'yi serbest bırakın veya yenisine geçin.
- User-Agent tutarlılığı: istekler arasında User-Agent'ınız değişiyorsa sticky IP işe yaramaz. Web siteleri "parmak izine" bakar (IP + User-Agent + çerezler). IP aynı kalıp tarayıcı dizesi değişiyorsa bu, otomasyon için kırmızı bayraktır.
- Zarif hata yönetimi: isteklerinizi daima try-except bloklarına sarın. IP oturum ortasında ölürse betiğiniz hatayı algılamalı, session ID'yi temizlemeli ve ölü bir bağlantıyla sonsuza dek yeniden denemek yerine yeni bir oturum başlatmalıdır.
Temel çıkarımlar
Sticky oturumlar, proxy'lerin anonimliği ile modern web'in durum bilgisi gereksinimleri arasındaki köprüdür. Geliştiricilerin IP tutarlılığına dayanan gelişmiş güvenlik önlemlerini aşmasını sağlarlar.
- Tanım: sticky oturumlar, bir Session ID kullanarak kullanıcıyı belirli bir süre boyunca belirli bir proxy IP'sine bağlar.
- Kritiklik: e-ticaret ödemeleri, sosyal medya yönetimi ve çok adımlı kimlik doğrulamalı her iş akışı için zorunludur.
- Kararlılık: kalıcılığı hedeflemelerine rağmen, residential sticky oturumlar peer cihazının erişilebilirliğine tabidir.
- GProxy uygulaması: GProxy, proxy kimlik doğrulama dizesi üzerinden kolay oturum yönetimi sunar ve 60 dakikaya kadar süreleri destekler.
Pratik ipucu 1: giriş gerektiren bir sayfayı kazırken, ağ gecikmesini hesaba katmak için daima ortalama görev tamamlama sürenizden %20 daha uzun bir sticky oturum süresi kullanın.
Pratik ipucu 2: çerezlerin kalıcı IP adresiyle birlikte otomatik yönetilmesini ve kesintisiz bir tarama profili oluşmasını sağlamak için sticky oturumları Python'daki requests.Session() nesnesiyle birleştirin.
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ü
