# Python'da mobil proxy nasıl kullanılır, IP döndürmeyle

> 4G/5G mobil proxyler için Python kodu: requests ve httpx HTTP veya SOCKS5 üzerinden, API ile IP döndürme, 429 limitleri yönetimi, yapışkan oturumlar. KYC olmadan.

- URL: https://cellmast.com/tr/guides/python-mobile-proxy/
- Son güncelleme: 2026-10-13
- Publisher: CellMast (https://cellmast.com)

CellMast özel portu veya dönen mobil havuz için kopyalanmaya hazır Python betiği: bağlanın, döndürün, yeni adresi bekleyin, API'yi aşırı yüklemeden yeniden deneyin.

**Hızlı cevap — IP döndürmeli Python'da mobil proxyyi nasıl kullanırım?**

Proxy URL'si `http://USERNAME:PASSWORD@gw.cellmast.com:7777`'ü `requests` veya `httpx`'ya geçirin, yeni taşıyıcı IP istediğinizde API anahtarınızla `POST /api/v1/mobile/{portId}/rotate`'yi çağırın. Yanıtı bekleyin, genellikle 5-15 saniye sürer, dönüşler arasında 30 saniye aralık bırakın. **CellMast** özel 4G/5G portlar Günde $2.63'ten başlar, KYC olmadan, kriptoyla ödenir.

## Gerekli olanlar

| Özellik | Değer |
| --- | --- |
| Python | 3.10 veya daha yeni |
| Kütüphaneler | `requests` (HTTP), SOCKS5 için `requests[socks]` veya `httpx[socks]` |
| Gateway | `gw.cellmast.com`, HTTP portu 7777, SOCKS5 portu 7778 |
| Port kimlik bilgileri | Kullanıcı adı ve şifre istemci alanından; destek bir portu taşıdığında, host, portlar ve şifreyi istemci alanında tekrar okuyun çünkü değişebilirler |
| API anahtarı | `proxies` kapsamıyla, döndürme için |
| Dönen havuz kullanıcı adı | `USERNAME-country-{cc}-session-{id}-ttl-{minutes}` |

## Mobil bir port üzerinden istek nasıl gönderilir?

`http` ve `https` için aynı proxy URL'sini ayarlayın. HTTPS hedeflerinde, `requests` ağ geçidi üzerinden bir CONNECT tüneli açar, böylece hedef taşıyıcı IP'sini görür ve TLS bağlantınız uçtan uca korunur.

*HTTP üzerinden istekler*

```python
import requests

PROXY = "http://USERNAME:PASSWORD@gw.cellmast.com:7777"
proxies = {"http": PROXY, "https": PROXY}

r = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=30)
print(r.json())  # {'ip': '<carrier IP>'}
```

*SOCKS5 (pip install "requests[socks]")*

```python
import requests

# socks5h: the proxy resolves the hostname, not your machine
PROXY = "socks5h://USERNAME:PASSWORD@gw.cellmast.com:7778"
r = requests.get("https://api.ipify.org", proxies={"http": PROXY, "https": PROXY}, timeout=30)
print(r.text)
```

## Python'dan IP nasıl döndürülür?

Döndürme çağrısını 429 yanıtını anlayan bir yardımcı fonksiyonda sarmalayın. Aşağıdaki yardımcı, çok erken döndürdüğünüzde `Retry-After` bekler, ardından taşıyıcının gerçekten yeni bir adres verip vermediğini kontrol eder.

*Döndürme yardımcısı*

```python
import time
import requests

API = "https://cellmast.com/api/v1"
KEY = "API_KEY"

def rotate(port_id: str, tries: int = 3) -> str:
    """Ask the modem for a new carrier IP and return it."""
    for _ in range(tries):
        r = requests.post(f"{API}/mobile/{port_id}/rotate",
                          headers={"Authorization": f"Bearer {KEY}"}, timeout=60)
        if r.status_code == 429:  # rotation_too_soon
            time.sleep(int(r.headers.get("Retry-After", "30")))
            continue
        r.raise_for_status()
        data = r.json()
        if data["ip"] != data.get("previousIp"):
            return data["ip"]
        time.sleep(30)  # same IP from the carrier: wait and try again
    raise RuntimeError("no new IP after several tries")

print("new IP:", rotate("PORT_ID"))
```

## İşler arasında, içinde değil, nasıl döndürüyorum?

Bir işi tek bir adreste çalıştırın, sonra bir sonraki iş için döndürün. Bu, işlem aşamasında çerezlerin ve girişlerin tutarlı kalmasını sağlar ve her iş için yeni bir adres sunar.

*İş başına bir IP*

```python
import requests

PROXY = "http://USERNAME:PASSWORD@gw.cellmast.com:7777"

def run_job(urls):
    with requests.Session() as s:
        s.proxies = {"http": PROXY, "https": PROXY}
        for url in urls:
            resp = s.get(url, timeout=30)
            print(resp.status_code, url)

jobs = [["https://example.com/a", "https://example.com/b"],
        ["https://example.com/c"]]
for urls in jobs:
    run_job(urls)
    rotate("PORT_ID")  # helper from the previous example
```

## httpx'te yapışkan oturumlarla dönen havuzu nasıl kullanırım?

GB başı havuzda bir döndürme çağrısı yoktur: kullanıcı adı belirler. Oturum kimliği olmadan, her yeni bağlantı yeni bir IP alır. HTTP istemcileri bağlantıyı açık tutar (keep-alive), bu yüzden her istek için yeni bir IP almak için her istek için yeni bir istemci açın veya `Connection: close` gönderin. `session-<id>-ttl-<minutes>` ile istekler o süre için aynı IP'yi kullanır.

*httpx (pip install httpx)*

```python
import uuid
import httpx

def pool_client(country: str = "us", minutes: int | None = None) -> httpx.Client:
    user = f"USERNAME-country-{country}"
    if minutes:
        user += f"-session-{uuid.uuid4().hex[:8]}-ttl-{minutes}"
    proxy = f"http://{user}:PASSWORD@gw.cellmast.com:7777"
    return httpx.Client(proxy=proxy, timeout=30)

with pool_client("gb", minutes=10) as c:   # same UK mobile IP for 10 minutes
    print(c.get("https://api.ipify.org").text)
    print(c.get("https://api.ipify.org").text)
```

## Betim ne tür hatalarla başa çıkmalı?

- **Döndürme API'sinden HTTP 429:** 30 saniyeden kısa sürede döndürdünüz. `Retry-After` kadar bekleyin.
- **HTTP 409 `port_not_active`:** port süresi doldu veya askıya alındı. Müşteri alanını kontrol edin.
- **Döndürmeden hemen sonra proxy bağlantı hataları:** normal; modem yeniden bağlanıyor. Kısa bir duraklamadan sonra tekrar deneyin.
- **Ağ geçidinden HTTP 407:** port için yanlış kullanıcı adı veya parola.
- **403 veya 429 yanıtı veren hedefler:** önce yavaşlayın, sonra bir kez döndürün. Mobil IP'ler paylaşılır; daha sakin bir hız çoğunu çözer.

## Python ve mobil proxyler: sorular

### Python'da HTTP mi yoksa SOCKS5 mi kullanmalıyım?

HTTP daha basittir ve düz `requests` ile çalışır. SOCKS5 ek `requests[socks]` gerektirir ama herhangi bir TCP trafiğini taşır ve `socks5h://` DNS'i makineniz yerine proxy tarafında çözer. İkisi de aynı CellMast modemine erişir: HTTP port 7777, SOCKS5 port 7778 üzerinden.

### Mobil proxy ile asyncio kullanabilir miyim?

Evet. `httpx.AsyncClient(proxy=...)` ve `aiohttp` her ikisi de HTTP proxy URL'si kabul eder. Tek bir özel portta eşzamanlılığı makul düzeyde tutun: tek bir taşıyıcı bağlantısı olan bir modemdir, bu yüzden onlarca paralel istek aynı radyo bağlantısını paylaşır.

### Selenium veya Playwright'a portu nasıl kullandırırım?

Playwright'ta, `proxy={"server": "http://gw.cellmast.com:7777", "username": "USERNAME", "password": "PASSWORD"}`'yi `launch()` veya `new_context()`'e geçirin. Selenium proxy seçenekleri parola kabul etmez: proxy girişini Selenium 4 BiDi ağ kimlik doğrulamasıyla sağlayın veya Playwright kullanın. Tarayıcı bağlamları arasında döndürün, sayfa yüklenirken döndürmeyin.

**Port ve API anahtarı alın** Günde $2.63'dan özel 4G/5G portları, $1,50/GB'den dönen mobil veri. Kripto ile ödeyin. [Fiyatları gör](https://cellmast.com/tr/pricing/) · [Mobil API referansı](https://cellmast.com/docs/api/mobile/)

---

CellMast: CellMast, konut proxy sağlayıcısıdır: sınırsız trafik ile özel operatör modemleri, ayrıca GB başına dönen mobil havuz, kimlik yüklemeden kripto ile ödeme yapılan.
