# Sticky oturumlar ve IP döndürme: oturum kimlikleri, TTL ve bağlantı tekrar kullanımı

> Konut proxy ağ geçidinde sticky oturumlar ve IP döndürme: oturum kimlikleri, TTL, kütüphane başına bağlantı tekrar kullanımı ve oturum havuzu.

- URL: https://crawlrelay.com/tr/docs/sessions/
- Son güncelleme: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Döndürme bağlantı bazında, stickiness oturum kimliği bazındadır. Kitaplığınızın bağlantıları nasıl tekrar kullandığını öğrendiğinizde, IP'nin tam olarak ne zaman değişeceğine karar verebilirsiniz.

**Hızlı cevap — Konut proxyde sticky oturumlar ve IP döndürme nasıl çalışır?**

**CrawlRelay** üzerinde, oturum kimliği olmayan kullanıcı adı her yeni TCP bağlantısında genellikle farklı olan bir IP alır ve `-session-<id>-ttl-<minutes>` bu kimlik için 30 dakikaya kadar süresince bir IP tutar, ancak IP daha erken değişebilir. Döndürme HTTP isteği yerine bağlantıya göre olur, yani keep-alive IP'nizin ne zaman gerçek anlamda değişeceğini belirler. Konut trafiği 50 GB’den başlayan $0,50/GB ile ücretlendirilir. KYC olmadan ve kripto ile ödenir.

## Oturum kuralları genel bakış

| Özellik | Değer |
| --- | --- |
| Döndürme birimi | Yeni TCP bağlantısı başına havuzdan bir IP, genellikle farklı |
| Sticky oturum | Kullanıcı adının sonuna eklenen `-session-<id>-ttl-<minutes>` |
| Oturum süresi | 30 dakikaya kadar |
| Oturum kimliği | 1–32 harf veya rakam; akış başına bir kimlik |
| Oturumu erken sonlandıran şey | Arkasındaki konut cihazının çevrimdışı olması |
| Paylaşılan Kimlikler | Aynı kimliği gönderen müşteriler aynı çıkışı paylaşır |
| Maliyet | Yok: oturumlar ve döndürme GB başına fiyata dahildir |

## Oturum kimliği gönderdiğimde ağ geçidinde ne olur?

Ağ geçidi her yeni bağlantıda kullanıcı adını okur. Oturum bölümü yoksa, sadece hedeflemenize uyan konut proxy çıkışı seçer. Oturum bölümü varsa, belirlediğiniz TTL süresi boyunca aynı kimlik için aynı çıkışı korur.

Yapışkan IP gerçek bir ev bağlantısıdır, bu yüzden TTL bitmeden kaybolabilir: cihaz kapatılır, Wi-Fi kaybeder veya ağ değiştirir. Uzun akışlar bunun üstesinden gelmeli; çıkış IP'sini kontrol noktalarında doğrulayıp tüm işi başarısız etmek yerine kontrol noktasından yeniden başlamalıdır.

## Her kütüphane bağlantıları nasıl yeniden kullanır?

Bir kütüphane bir bağlantıyı açık tutarsa, bu bağlantıdaki her istek aynı çıkışı paylaşır. Amaçlı olarak her davranışı elde etmek için böyle yapılır.

| Kütüphane | Varsayılan | İstek başına yeni IP | Bir akış için bir IP |
| --- | --- | --- | --- |
| Python requests | `Session` bağlantıları açık tutar | Başlık `Connection: close` veya her istek için yeni bir `Session` | Kullanıcı adında oturum kimliği olan bir `Session` |
| httpx | Müşteri bağlantı havuzları | `httpx.Limits(max_keepalive_connections=0)` | Her oturum kimliği için bir müşteri |
| aiohttp | `TCPConnector` bağlantı havuzları | `TCPConnector(force_close=True)` | Proxy URL kullanıcı adında oturum kimliği |
| Scrapy | Proxy kimlik bilgileri ve ana bilgisayar başına havuzlar | Middleware ](https://crawlrelay.com/tr/docs/scrapy/) ile `meta={"proxy_session": "new"}` | Akış için sabit bir `proxy_session` |
| Playwright / Puppeteer | Chrome bağlam başına havuz oluşturur | Sayfa başına yeni bağlam | Her oturum kimliği için bir bağlam |
| Node.js undici, axios, got | Ajanlar soketleri açık tutar | Her istek için yeni ajan veya keep-alive kapalı | Her oturum kimliği için bir ajan |
| curl | Her komut için bir bağlantı | Şimdiden durum böyle | Her komutta aynı oturum kimliği |

## Hangi oturum stratejisi hangi scraping işi için uygundur?

| İş | Strateji | Önerilen TTL |
| --- | --- | --- |
| Bağımsız ürün, makale veya listeleme sayfaları | Döndürme: oturum kimliği yok | — |
| Sonraki sayfası bir çerez veya imlece bağlı olan sayfalama | Liste başına bir yapışkan oturum | 10–30 dk |
| Arama, sonra sonuçlar, sonra detay sayfaları | Arama başına bir yapışkan oturum | 10–20 dk |
| Bir sitenin birkaç sayfasını işleten başsız tarayıcı | Tarayıcı bağlamı başına bir yapışkan oturum | Bağlamın yaşam süresi, en fazla 30 dk |
| Bir sayfanın birkaç şehirde ne gösterdiğini kontrol etme | Şehir kontrolü başına kısa oturum | 5 dk |
| Aynı sayfayı her saat tekrar kontrol etme | Döndür | — |

## Python'da yapışkan oturum havuzunu nasıl yönetirim?

Küçük bir havuz, yükü birkaç stabil çıkışa yayar ve her birini belirli bir istek sayısından sonra veya çıkışının başarısız olduğuna dair bir işaret (ör. 502 veya 503) gördüğünde pasif hale getirir. Yaptığı **şey** değil: 403 veya 429 hatasını aşmak için IP değiştirmez. Bunlar sitenin yavaşlamanızı istediği anlamına gelir, bu yüzden havuz bunları kodunuza iletir.

*Python: yapışkan oturum havuzu*

```python
import random
import uuid

import requests

GATEWAY = "gw.crawlrelay.com:7777"
BASE_USER, PASSWORD = "USERNAME-country-us", "PASSWORD"


class SlowDown(Exception):
    """The target asked us to slow down (403 or 429): back off, do not rotate."""


class StickySession:
    def __init__(self, ttl=15, max_requests=50):
        self.id = uuid.uuid4().hex[:10]
        self.max_requests, self.used = max_requests, 0
        user = "%s-session-%s-ttl-%d" % (BASE_USER, self.id, ttl)
        proxy = "http://%s:%s@%s" % (user, PASSWORD, GATEWAY)
        self.http = requests.Session()
        self.http.proxies = {"http": proxy, "https": proxy}


class SessionPool:
    EXIT_PROBLEMS = {502, 503, 504}

    def __init__(self, size=5, **options):
        self.options = options
        self.sessions = [StickySession(**options) for _ in range(size)]

    def _replace(self, i):
        self.sessions[i].http.close()
        self.sessions[i] = StickySession(**self.options)

    def get(self, url, **kwargs):
        i = random.randrange(len(self.sessions))
        s = self.sessions[i]
        s.used += 1
        try:
            r = s.http.get(url, timeout=(10, 30), **kwargs)
        except requests.exceptions.RequestException:
            self._replace(i)  # dropped exit or timeout: start a fresh session
            raise
        if r.status_code in (403, 429):
            raise SlowDown("%s returned %d" % (url, r.status_code))
        if r.status_code in self.EXIT_PROBLEMS or s.used >= s.max_requests:
            self._replace(i)
        return r


pool = SessionPool(size=5, ttl=15, max_requests=50)
print(pool.get("https://api.ipify.org").text)
```

## Bir yapışkan IP'nin değiştiğini nasıl anlarım?

Sor. Akışın başında ve her kontrol noktasında aynı oturum üzerinden `https://api.ipify.org` gibi bir IP yankı servisi isteğinde bulun ve yanıtları karşılaştır. Bir değişiklik, oturumun arkasındaki çıkışın değiştiği anlamına gelir: akışı son kontrol noktasından tekrar başlat veya yeni bir oturum aç. Bunu oturum kimliği ile kaydet, böylece hata ayıklarken IP değişikliklerini site davranışından ayırt edebilirsin.

## Hangi oturum hataları en pahalıya patlar?

- **Çok adımlı bir akışın her isteğinde döndürme.** Site, bir alışveriş sepeti, imleç veya arama jetonunun ülkeler arasında atladığını görür ve sıfırlar.
- **Her çalışan için bir oturum kimliği.** Oturum, bir akış içindir; her çalışana ve her akışa kendi kimliğini ver.
- **İşten çok daha uzun oturum süreleri.** 2 dakikalık bir akış için 30 dakikalık TTL, bir IP'yi gereksiz yere meşgul eder ve logları okumayı zorlaştırır.
- **429'u IP sorunu olarak değerlendirmek.** Yeni bir IP, sitenin kuralını değiştirmez; yavaşlamak değiştirir. Bkz [429 Too Many Requests](https://crawlrelay.com/tr/docs/errors/429-too-many-requests/)].
- **İstek başı döndürme varsaymak.** Keep-alive çıkışı korur; kütüphanen için yukarıdaki tabloya bak.

## Oturumlar ve döndürme: sorular

### Yapışkan bir oturum ne kadar sürer?

Yapışkan oturumlar ayarladığınız süre boyunca (ttl, dakika cinsinden) aynı IP’yi tutar, maksimum 30 dakika. IP daha erken değişebilir, örneğin konut cihazı çevrimdışı olursa. Hizmet verdiği akıştan biraz daha uzun bir TTL seç ve çıkışı kontrol noktalarında denetle.

### Yapışkan oturum döndürmeden daha mı pahalı?

Hayır. CrawlRelay trafiği GB başına ücretlendirir ve oturumlar, döndürme ile hedefleme bu fiyata dahildir. Yapışkan oturum, bir bağlantının canlı tutulması sayesinde her istekte yeni TLS el sıkışmasını önleyerek bile trafik tasarrufu sağlayabilir.

### Her istekte döndürmek kazıma için daha mı iyi?

Bağımsız sayfalar için döndürme yükü dağıtır ve bir IP'den saatlerce tek bir siteye istek göndermeyi önler. Çerezle bağlı sayfalama gibi durumlarda ise akışı bozar. Çoğu kazıyıcı her ikisini de kullanır: öğeler arasında döndürür, bir akış içinde yapışkan kalır.

### Tam olarak hangi IP'yi alacağımı seçebilir miyim?

Hayır. Bir konut proxy ağ geçidi, kullanıcı adındaki hedeflemeye uygun sürekli değişen bir havuzdan çıkışlar atar. Ülke, şehir, ABD eyaleti, posta kodu veya ASN seçebilirsin, ve bir oturumla IP tutabilirsin; belirli bir IP adresini rezerve edemezsin.

**Döndürme ve oturumlar her planda var** $1,50 için 1 GB, $0,50/GB 50 GB'ten. [Fiyatları gör](https://crawlrelay.com/tr/pricing/) · [Eşzamanlılık rehberi](https://crawlrelay.com/tr/docs/concurrency/)

---

CrawlRelay: CrawlRelay, kazıyıcılar ve AI veri hatları için geliştirici odaklı dönen konut proxy ve 4G/5G mobil proxy hizmetidir: süresiz, kullanılan kadar ödenen trafik $0,50/GB'dan itibaren, kripto ile ödenir, kimlik yüklemesi yoktur. KYC yok — kimlik, selfie veya belge istemez. Kripto ile ödeyin.
