Veri toplama altyapınız büyüdükçe en kritik kararlardan biri sabit ve rotasyon proxy oturumleri (sticky vs rotating proxies) arasında doğru stratejiyi seçmektir. Yanlış seçim, oturum açma akışlarının kırılmasına, sepet verilerinin kaybolmasına veya hedef sunucular tarafından bloklanmanıza yol açar. Bu rehberde ProxyHat üzerinde her iki yaklaşımı nasıl kontrol edeceğinizi, hangi senaryoda hangisini seçeceğinizi ve operasyonel olarak nasıl ayarlayacağınızı ele alıyoruz.
Sabit ve Rotasyon Proxy Oturumları Nedir?
Rotasyon proxy oturumu (rotating proxy session) her yeni HTTP isteği için farklı bir çıkış IP adresi atar. Gateway, geniş bir IP havuzundan otomatik olarak bir IP seçer ve isteğinizi o IP üzerinden iletir. Bu, yüksek hacimli herkese açık veri çekme işlerinde faydalıdır çünkü tek bir IP üzerindeki istek yükü düşük kalır.
Sabit proxy oturumu (sticky proxy session) ise belirli bir TTL (yaşam süresi) boyunca aynı çıkış IP'sini korur. Tipik TTL değerleri 1 ila 30 dakika arasındadır. Oturum kimliği genellikle proxy kullanıcı adına gömülü bir token ile tanımlanır. ProxyHat'te bu -session-abc123 biçimindedir.
Kural: Hedef site IP'ye bağlı durum tutuyorsa sabit oturum kullanın. IP başına istek sınırı önemliyse rotasyon kullanın.
Teknik Bağlam: Neden Bu Problem Var?
Birçok web uygulaması, oturum durumunu yalnızca çerezlerle değil, aynı zamanda istemcinin IP adresiyle de ilişkilendirir. Bu, CSRF koruması, oturum sabitleme (session fixation) önlemleri ve dolandırıcılık tespiti için yaygın bir desendir. Örneğin, OWASP oturum yönetimi rehberleri, IP tabanlı bağlam doğrulamanın ek bir güvenlik katmanı olarak kullanılabileceğini belirtir (OWASP Session Management Cheat Sheet).
Rotasyon proxy kullandığınızda her istek farklı bir IP'den gelir. Hedef sunucu, çerezinizdeki oturum kimliğini yeni IP ile eşleştiremez ve oturumu geçersiz kılar. Sonuç:
- Giriş sonrası anında 401 veya 302 redirect.
- CSRF token doğrulaması başarısız olur.
- Sepete eklenen ürünler kaybolur.
- Sayfalı arama sonuçlarında sayfa 2'ye geçtiğinizde "oturum süresi doldu" hatası.
İşte bu yüzden sabit proxy oturumu gereklidir. Aynı IP'yi bir akış boyunca tutarak, hedef sunucunun beklediği IP-oturum tutarlılığını sağlarsınız.
Oturum Kontrolü Proxy Kullanıcı Adında Nasıl Kodlanır?
ProxyHat, oturum davranışını proxy kimlik doğrulama kullanıcı adına gömülü flag'ler ile kontrol etmenizi sağlar. Bu, kodunuzda proxy URL'sini değiştirerek dinamik olarak rotasyon ve sabit mod arasında geçiş yapabileceğiniz anlamına gelir.
Varsayılan Rotasyon Endpoint
Herhangi bir oturum flag'i eklemezseniz, ProxyHat gateway'i her istek için yeni bir IP atar:
http://USERNAME:PASSWORD@gate.proxyhat.com:8080
Bu, yüksek hacimli herkese açık veri çekme işleri için varsayılan moddur.
Sabit Oturum + Ülke Hedefleme
Tek bir IP'yi sabitlemek ve o IP'nin belirli bir ülkeden olmasını sağlamak için kullanıcı adına -session ve -country flag'lerini ekleyin:
http://user-session-abc123-country-US:pass@gate.proxyhat.com:8080
Bu örnekte abc123 oturum kimliği aynı kaldığı sürece ProxyHat aynı ABD çıkış IP'sini atar ve TTL boyunca korur. Şehir seviyesinde hedefleme de mümkündür:
http://user-session-abc123-country-DE-city-berlin:pass@gate.proxyhat.com:8080
Oturum kimliğini değiştirdiğinizde (örneğin session-abc124), ProxyHat yeni bir IP atar. Bu, oturum geri dönüşümü için pratik bir mekanizmadır.
SOCKS5 ile Sabit Oturum
SOCKS5 gerektiren senaryolarda 1080 portunu kullanın:
socks5://user-session-abc123-country-US:pass@gate.proxyhat.com:1080
Daha fazla bağlantı detayı için ProxyHat dokümantasyonunu inceleyin.
Pratik Uygulama: İki Çalışma Örneği
Örnek 1: Python requests ile İstek Başına Rotasyon
Aşağıdaki kod, her istekte farklı bir IP kullanarak bir fiyat karşılaştırma API'sini scraper'ı için rotasyon modunu gösterir:
import requests
from itertools import cycle
# Varsayılan rotasyon endpoint — session flag yok
proxy_url = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
proxies = {"http": proxy_url, "https": proxy_url}
urls = [
"https://example-shop.com/product/123",
"https://example-shop.com/product/456",
"https://example-shop.com/product/789",
]
for url in urls:
r = requests.get(url, proxies=proxies, timeout=15)
print(r.status_code, r.json().get("price"))
Burada session flag'i olmadığı için her requests.get çağrısı farklı bir çıkış IP'si kullanır. Bu, IP başına istek sınırına takılma riskini azaltır.
Örnek 2: Node.js ile Çok Adımlı Sabit Oturum
Bu örnekte, bir e-ticaret sitesinde giriş yapıp sepete ürün ekleme akışı aynı IP üzerinden yürütülür:
import { HttpsProxyAgent } from "https-proxy-agent";
import fetch from "node-fetch";
const sessionId = "order-flow-9876";
const proxyUrl = `http://user-session-${sessionId}-country-US:pass@gate.proxyhat.com:8080`;
const agent = new HttpsProxyAgent(proxyUrl);
// 1. Giriş yap
const loginRes = await fetch("https://shop.example.com/api/login", {
method: "POST",
agent,
body: JSON.stringify({ user: "demo", pass: "demo" }),
headers: { "Content-Type": "application/json" },
});
const cookies = loginRes.headers.get("set-cookie");
// 2. Sepete ürün ekle (aynı IP + aynı çerez)
await fetch("https://shop.example.com/api/cart/add", {
method: "POST",
agent,
headers: { Cookie: cookies, "Content-Type": "application/json" },
body: JSON.stringify({ sku: "SKU-001", qty: 2 }),
});
// 3. Ödeme sayfasına git (hâlâ aynı IP)
const checkoutRes = await fetch("https://shop.example.com/api/checkout", {
agent,
headers: { Cookie: cookies },
});
console.log(await checkoutRes.text());
Tüm akış boyunca sessionId aynı kaldığı için ProxyHat aynı çıkış IP'sini korur. Giriş, sepet ve ödeme adımları tek bir IP'den gelir ve hedef site oturumu geçersiz kılmaz.
Operasyonel Rehber: TTL, Geri Dönüşüm ve Paralel Oturumlar
Oturum TTL Ayarı
Sabit oturumların TTL değeri, hedef sitenin oturum zaman aşımıyla uyumlu olmalıdır. Tipik ayarlar:
- 1-5 dakika: Kısa çok adımlı akışlar (arama + sayfalama).
- 10-30 dakika: Giriş + sepet + ödeme akışları.
- 30+ dakika: Uzun oturum gerektiren dashboard scraping.
TTL'nin çok uzun olması, IP'nin hedef sitede flag'lenme riskini artırır. Çok kısa olması, akış ortasında IP değişimi nedeniyle oturum kırılması riski doğurur.
429 ve 403'te Oturum Geri Dönüşümü
Hedef site 429 (Too Many Requests) veya 403 (Forbidden) döndürdüğünde, aynı oturum IP'si muhtemelen geçici olarak kara listeye alınmıştır. Bu durumda oturum kimliğini değiştirerek yeni bir IP alın:
import uuid, requests
def fetch_with_recycle(url, max_retries=3):
for attempt in range(max_retries):
sid = uuid.uuid4().hex[:8]
proxy = f"http://user-session-{sid}-country-US:pass@gate.proxyhat.com:8080"
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=15)
if r.status_code in (429, 403):
continue
return r
raise Exception("Max retries exceeded")
Bu desen, tek bir IP'nin aşırı yüklenmesini önler ve blokları zarif bir şekilde atlatır.
Paralel Oturum Sayısı
Kaç paralel sabit oturum çalıştıracağınız, hedef sitenin davranışına ve ProxyHat planınızın eşzamanlı bağlantı limitine bağlıdır. Pratik başlangıç noktaları:
- Düşük riskli herkese açık veri: 50-100 paralel oturum, her biri 5-10 istek/dakika.
- E-ticaret fiyat izleme: 20-50 paralel oturum, her IP başına 2-3 istek/dakika.
- Giriş gerektiren siteler: 5-20 paralel oturum, insan benzeri davranış.
ProxyHat eşzamanlı bağlantı limitleri için fiyatlandırma sayfasını kontrol edin.
Rotasyon Ne Zaman Sabitten Daha İyidir?
Rotasyon, aşağıdaki koşullarda açık ara daha iyi bir seçimdir:
- Herkese açık veri, giriş yok: SERP sonuçları, halka açık ürün listeleri, haber başlıkları.
- Yüksek hacim: Saniyede binlerce istek gerektiğinde tek IP'yi tutmak risklidir.
- IP başına hız limiti: Hedef site IP başına 60 istek/dakika ile sınırlandırıyorsa, rotasyon bu sınırı etkisiz kılar.
- Dağıtık içerik: Farklı coğrafi konumlardan içerik karşılaştırma (örneğin yerelleştirilmiş arama sonuçları).
SERP izleme ve arama motoru sonuçlarını toplama gibi senaryolar için SERP takip kullanım senaryosunu inceleyin. Genel web scraping altyapısı için web scraping kullanım senaryosu faydalıdır.
Hukuki ve Etik Değerlendirme
Proxy kullanımı, eriştiğiniz verinin niteliğine ve hedef sitenin kullanım şartlarına bağlı olarak hukuki riskler taşıyabilir. ABD'de Computer Fraud and Abuse Act (CFAA), izinsiz erişimi kısıtlayabilir. Van Buren v. United States (2021) kararı sonrasında, teknik erişim sınırını aşma ile fonksiyonel kısıtlamayı ihlal etme arasındaki çizgi daha net hale gelmiştir, ancak her durum yoruma açıktır (Cornell Law Institute - Van Buren v. United States).
Avrupa Birliği'nde GDPR, kişisel veri içeren içeriklerin toplanmasını kısıtlayabilir. IP adresleri bile GDPR kapsamında kişisel veri sayılabilir (GDPR Madde 4 - Tanımlar). Scraping yapmadan önce:
- Hedef sitenin
robots.txtdosyasını kontrol edin. - Kullanım şartlarını (ToS) okuyun.
- Kişisel veri topluyorsanız yasal dayanak belirleyin.
- Hız sınırlarına saygı gösterin.
ProxyHat, yalnızca teknik altyapı sağlar; scraping etiği ve yasal uyumluluk sizin sorumluluğunuzdadır.
Karşılaştırma Tablosu: Sabit vs Rotasyon
| Özellik | Sabit (Sticky) Oturum | Rotasyon Oturumu |
|---|---|---|
| IP davranışı | TTL boyunca aynı IP | Her istekte yeni IP |
| Tipik TTL | 1-30 dakika | Yok (istek bazlı) |
| Oturum kimliği | -session-abc123 | Yok (varsayılan) |
| Giriş/sepet akışları | Uygun | Bozar |
| Yüksek hacimli scraping | Riskli | Uygun |
| IP başına hız limiti | Düşük tolerans | Yüksek tolerans |
| Coğrafi hedefleme | Mümkün (-country-US) | Mümkün |
Kullanım Örneği: ROI Hesaplaması
Bir fiyat izleme SaaS'ı, 5.000 ürünü 12 rakip siteden günde 3 kez çekmek istiyor. Toplam günlük istek: 5.000 × 12 × 3 = 180.000 istek.
Rotasyon yaklaşımı: 180.000 isteği 1.000 IP üzerinden dağıtırsanız, IP başına günlük ~180 istek düşer. Bu, çoğu e-ticaret sitesinin IP başına limitinin altındadır. Tahmini başarı oranı: %92. ProxyHat rotasyon endpoint ile bu senaryo tek bir kod tabanından yönetilebilir.
Sabit yaklaşım: Eğer rakip sitelerden biri oturum açma gerektiriyorsa ve 500 ürün bu kategoriye giriyorsa, 500 × 3 = 1.500 sabit oturum/gün gerekir. Her oturum ortalama 10 dakika TTL ile çalışırsa, aynı anda ~20 paralel sabit oturum yeterlidir.
Maliyet açısından, ProxyHat fiyatlandırması gigabayt veya IP başına değil, trafik bazlıdır. Bu, rotasyon ve sabit mod arasında geçiş yaparken ekstra lisans maliyeti olmadığı anlamına gelir. Coğrafi konum çeşitliliği için lokasyonlar sayfasını inceleyin.
Satır İçi (In-house) mi, Satın Alınmış mı?
Veri mühendisliği ekipleri sıkça kendi proxy altyapılarını kurmayı düşünür. Ancak residential IP havuzu yönetimi, aşağıdaki maliyetleri içerir:
- IP tedariki: Residential IP'ler genellikle P2P ağlar veya partner anlaşmalarla sağlanır. Binlerce IP kurmak aylar sürer.
- Bakım: IP'ler sürekli değişir, banlanır, coğrafi dağılım bozulur.
- Oturum yönetimi: Sticky session TTL kontrolü, geri dönüşüm, health check.
- Uptime: %99.9 uptime için yedek gateway'ler ve yük dengeleme gerekir.
Satın alınmış bir servis like ProxyHat, bu maliyetleri tek bir API arkasında toplar. Ekipleriniz veri kalitesine ve scraping mantığına odaklanır. Build-vs-buy kararında aylık 50-100 saatlik altyapı bakım maliyetini hesaba katın.
Key Takeaways
Sabit oturum, IP'ye bağlı durum tutan sitelerde (giriş, sepet, sayfalama) zorunludur. Rotasyon, yüksek hacimli herkese açık veri çekmede daha verimlidir. ProxyHat'te oturum davranışı kullanıcı adındaki
-sessionflag'i ile kontrol edilir. 429/403 alındığında oturum kimliğini değiştirerek IP'yi geri dönüşüm yapın. Hukuki riskleri (CFAA, GDPR) her zaman değerlendirin.
SSS
Sabit ve rotasyon proxy oturumları arasındaki fark nedir?
Sabit (sticky) proxy oturumu, belirli bir TTL boyunca aynı çıkış IP'sini korur ve oturum kimliği kullanıcı adına gömülüdür. Rotasyon proxy oturumu ise her yeni HTTP isteği için farklı bir IP atar. Sabit oturumlar giriş ve sepet akışları için, rotasyon ise yüksek hacimli herkese açık veri çekme için uygundur.
Sabit ve rotasyon proxy oturumleri proxy kullanıcıları için neden önemlidir?
Çünkü birçok web sitesi oturum durumunu IP adresiyle ilişkilendirir. Rotasyon modunda her istek farklı IP'den geldiği için oturumlar kırılır, CSRF token'ları geçersiz olur ve sepet verileri kaybolur. Doğru oturum stratejisi, scraping成功率 ve veri kalitesini doğrudan etkiler.
Hangi proxy tipi sabit ve rotasyon oturumları için en iyisidir?
Residential proxy'ler her iki mod için de en iyi seçimdir çünkü gerçek ISP IP'lerinden gelir ve hedef sitelerde banlanma riski daha düşüktür. Datacenter proxy'ler daha hızlıdır ama daha kolay tespit edilir. Mobile proxy'ler en yüksek güvenilirliği sunar ama maliyet daha yüksektir. ProxyHat üç tipi de destekler.
Sabit ve rotasyon proxy oturumları uygularken blokları nasıl önlersiniz?
429 veya 403 yanıtı aldığınızda oturum kimliğini değiştirerek yeni bir IP alın. IP başına istek hızını hedef sitenin limitinin altında tutun (genellikle 2-5 istek/dakika). Paralel oturum sayısını kademeli olarak artırın. İnsan benzeri davranış için istekler arasına rastgele gecikme ekleyin. robots.txt ve kullanım şartlarına saygı gösterin.
ProxyHat'te sabit oturum nasıl ayarlanır?
Proxy kullanıcı adına -session-abc123 flag'ini ekleyin. Örneğin: http://user-session-abc123-country-US:pass@gate.proxyhat.com:8080. Oturum kimliği aynı kaldığı sürece aynı IP korunur. Ülke ve şehir hedeflemesi için -country-US ve -city-berlin flag'lerini ekleyebilirsiniz.






