İçeriğe geç
ipv4proxy.tr

Kurulum Rehberleri

Python ile Proxy Kullanımı: requests, httpx ve aiohttp Örnekleri

Güncelleme 18 Ekim 2026 · 7 dk okuma

Python'da proxy kullanmak birkaç satırlık bir iştir, ama protokole ve kütüphaneye göre ufak farklar vardır. HTTP proxy requests ile doğrudan çalışır; SOCKS5 için ek bir paket gerekir ve alan adı çözümlemesinin nerede yapıldığına dikkat etmek gerekir.

Bu yazıda requests, httpx ve aiohttp için çalışır örnekler, oturum yönetimi, zaman aşımı ve çıkış IP doğrulama bulacaksınız. Örneklerdeki proxy.example.com, PORT, KULLANICI ve PAROLA yer tutucudur; kendi paket bilgilerinizi yazın. Kodlar yalnızca izinli ve yasal kullanım için yazılmıştır.

requests ile HTTP proxy

requests kütüphanesinde proxy, bir sözlükle verilir. Anahtar hedefin şemasıdır; değer ise proxy adresidir. HTTPS hedefler için de proxy adresi http:// ile başlar, çünkü istemci proxy'ye HTTP üzerinden bağlanır ve CONNECT ile tünel kurar.

requests: HTTP proxy ve çıkış IP'sini yazdırma
import requests

PROXY = "http://KULLANICI:[email protected]:PORT"
proxies = {"http": PROXY, "https": PROXY}

r = requests.get("https://api.ipify.org", proxies=proxies, timeout=(5, 20))
r.raise_for_status()
print("Çıkış IP:", r.text)

Zaman aşımı değeri iki parçalıdır: bağlantı için 5, yanıt okuma için 20 saniye. Zaman aşımı vermezseniz requests süresiz bekleyebilir; bu nedenle her istekte vermeniz iyi bir alışkanlıktır.

Parolada @, : ya da / gibi karakterler varsa urllib.parse.quote ile kodlayın. Protokol farkının arka planı için HTTP ve SOCKS5 farkı yazısına bakabilirsiniz.

SOCKS5 için ek paket ve socks5h farkı

requests SOCKS5 için PySocks bağımlılığına ihtiyaç duyar. Kurulumu requests ek paketiyle yapılır:

pip install "requests[socks]"
requests: SOCKS5 proxy (alan adı proxy tarafında çözülür)
import requests

PROXY = "socks5h://KULLANICI:[email protected]:PORT"
proxies = {"http": PROXY, "https": PROXY}

r = requests.get("https://api.ipify.org", proxies=proxies, timeout=(5, 20))
print(r.text)

Şemadaki h harfi önemlidir. socks5:// alan adını yerel makinede çözer, socks5h:// ise çözümlemeyi proxy'ye bırakır. Hangi alan adlarına gittiğinizin yerel ağda görünmesini istemiyorsanız socks5h tercih edilir. Hangi protokolün size uygun olduğunu HTTP & SOCKS5 proxy sayfasından da görebilirsiniz.

Oturum, yeniden deneme ve istek aralığı

Aynı proxy ile çok sayıda istek gönderiyorsanız requests.Session kullanın. Oturum bağlantıları yeniden kullanır ve proxy ayarını bir kez tanımlamanızı sağlar. Yeniden denemeleri ise urllib3 Retry yapısıyla yönetebilirsiniz.

Session, Retry ve bekleme
import time
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

PROXY = "http://KULLANICI:[email protected]:PORT"

session = requests.Session()
session.proxies.update({"http": PROXY, "https": PROXY})

retry = Retry(
    total=3,
    backoff_factor=1.0,
    status_forcelist=(429, 502, 503, 504),
    respect_retry_after_header=True,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount("http://", adapter)
session.mount("https://", adapter)

urls = ["https://example.com/", "https://example.org/"]
for url in urls:
    resp = session.get(url, timeout=(5, 20))
    print(url, resp.status_code)
    time.sleep(1.0)  # istekler arasında bekleyin

Yeniden deneme listesine 429 ve 5xx kodlarını eklemek mantıklıdır, ama 407 ve 403 gibi kodları körü körüne yeniden denememelisiniz; bunlar çoğunlukla kimlik bilgisi ya da erişim sorunudur. Ayrıntı için proxy hataları 407, 403, 429 yazısına bakın.

httpx ve aiohttp ile eşzamansız kullanım

httpx modern sürümlerde proxy parametresini alır; eski proxies argümanı kaldırılmaya yönelik olduğundan sürümünüzün belgelerini kontrol edin. SOCKS5 için httpx[socks] kurulmalıdır.

httpx: eşzamansız istek
import asyncio
import httpx

PROXY = "http://KULLANICI:[email protected]:PORT"

async def main() -> None:
    async with httpx.AsyncClient(proxy=PROXY, timeout=20.0) as client:
        r = await client.get("https://api.ipify.org")
        print(r.text)

asyncio.run(main())

aiohttp HTTP proxy'yi her istekte proxy parametresiyle alır. SOCKS5 için ayrı bir bağlayıcı paket (örneğin aiohttp-socks) gerekir.

aiohttp: HTTP proxy
import asyncio
import aiohttp

PROXY = "http://proxy.example.com:PORT"

async def main() -> None:
    auth = aiohttp.BasicAuth("KULLANICI", "PAROLA")
    timeout = aiohttp.ClientTimeout(total=20)
    async with aiohttp.ClientSession(timeout=timeout) as session:
        async with session.get("https://api.ipify.org", proxy=PROXY, proxy_auth=auth) as r:
            print(await r.text())

asyncio.run(main())

Doğrulama ve sorumlu kullanım

Kodunuzu hedefe yönlendirmeden önce çıkış adresinin beklediğiniz adres olduğunu kontrol edin. Örneklerdeki api.ipify.org çağrısı bu işi görür; web arayüzünden doğrulama için IP Adresim, toplu kontrol için Proxy Kontrol aracını kullanabilirsiniz. Yöntemlerin tamamı proxy nasıl test edilir yazısındadır.

  • Kimlik bilgilerini koda gömmeyin; ortam değişkeni ya da gizli bilgi yönetimi kullanın.
  • Hedef sitenin robots.txt dosyasına ve kullanım koşullarına uyun; istekleri makul aralıklarla gönderin.
  • Kişisel veri işliyorsanız yürürlükteki mevzuata uyun.

Geliştirici odaklı özet için geliştiriciler sayfasına, veri toplama senaryoları için web scraping çözüm sayfasına bakabilirsiniz.

Sık sorulan sorular

ipv4proxy.tr

Doğru adresi bulun.

Sekiz ürün, doğrulanmış fiyatlar, gerçek araçlar. Sipariş saglamproxy.com üzerinde tamamlanır.