Hızlı yanıt
Python Requests ile statik proxy'yi nasıl kullanırım?
Python Requests ile statik proxy kullanmak için IP'nizin host, port, kullanıcı adı ve parolasından proxy URL'si oluşturun. Bunu proxies= parametresinin hem http hem de https anahtarlarına verin, bir timeout ayarlayın ve çıkış IP'sini api.ipify.org üzerinden kontrol edin. SteadyProxy statik IP'ler Ekim 2026 itibarıyla 30 gün için $2,24 tutarındadır, KYC yok ve kripto ödeme var.
Temel bilgiler neler?
| Kurulum | python -m pip install requests (SOCKS5 için: requests[socks]) |
|---|---|
| HTTP proxy URL'si | http://USERNAME:PASSWORD@host:port, for both the http and https keys |
| SOCKS5 proxy URL'si | socks5h://KULLANICIADI:PAROLA@host:port (varsayılan SOCKS5 portu 7778) |
| Özel karakterler | Kullanıcı adı ve parolayı urllib.parse.quote ile URL-encode edin |
| Ortam proxy'leri | session.trust_env = False, başka yerde ayarlanmış HTTP_PROXY'yi yok sayar |
| Timeout'lar | (10, 30): bağlanmak için 10 sn, okumak için 30 sn, örneklerimizde |
| Test edildi | Python 3.14 ve Requests 2.34, 19 Ekim 2026, parola korumalı bir test proxy'si üzerinden |
Tek bir statik proxy üzerinden nasıl istek gönderirim?
Her statik IP, panelinizde kendi host, port, kullanıcı adı ve parolasıyla gelir. Bunları kodda değil, ortam değişkenlerinde tutun. Aşağıdaki betik proxy URL'sini oluşturur, api.ipify.org adresine tek bir istek gönderir ve çıkış IP'si beklediğiniz IP değilse durur. Ardından ağ adını ipinfo.io'dan okur. Yanlış parolayla Requests, test ettiğimiz gibi 407 Proxy Authentication Required içeren bir ProxyError yükseltir.
"""Python Requests through one static proxy, with a check of the exit IP.
Install: python -m pip install requests
"""
import os
from urllib.parse import quote
import requests
HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
PORT = os.environ.get("PROXY_PORT", "7777")
USER = quote(os.environ.get("PROXY_USER", "USERNAME"), safe="")
PASSWORD = quote(os.environ.get("PROXY_PASS", "PASSWORD"), safe="")
EXPECTED_IP = os.environ.get("EXPECTED_IP") # the static IP listed in your dashboard
# The proxy URL starts with http:// even for https:// sites (Requests opens a CONNECT tunnel)
PROXY = "http://" + USER + ":" + PASSWORD + "@" + HOST + ":" + PORT
PROXIES = {"http": PROXY, "https": PROXY}
with requests.Session() as session:
session.trust_env = False # ignore HTTP_PROXY / HTTPS_PROXY set elsewhere on the machine
response = session.get("https://api.ipify.org?format=json", proxies=PROXIES, timeout=(10, 30))
response.raise_for_status()
exit_ip = response.json()["ip"]
print("Exit IP:", exit_ip)
if EXPECTED_IP and exit_ip != EXPECTED_IP:
raise SystemExit("Exit IP differs from the static IP you expected")
page = session.get("https://ipinfo.io/json", proxies=PROXIES, timeout=(10, 30))
page.raise_for_status()
print("Network:", page.json().get("org"), "-", page.json().get("country"))
https:// siteleri için proxy URL'si neden http://?
proxies sözlüğünün anahtarı hedef sitenin şemasıdır; değeri ise proxy'nin adresidir. https:// bir site için Requests, HTTP proxy'den bir CONNECT tüneli açmasını ister, ardından tünel üzerinden siteye TLS çalıştırır. Proxy, çözülmüş sayfayı hiçbir zaman görmez. Bu yüzden her iki anahtar da aynı http:// proxy URL'sini gösterir. Sertifika kontrollerini açık tutun: bir proxy hatasını ortadan kaldırmak için asla verify=False ayarlamayın.
Her hesaba nasıl kendi statik IP'sini veririm?
Her hesabı veya işi tek bir IP'ye eşleyin ve her eşleme için bir Session oluşturun. Bir Session çerezleri korur ve bağlantıları yeniden kullanır; trust_env = False ile de proxies ayarı ortam değişkenleri tarafından değiştirilmez. Aşağıdaki örnek, panelinizdeki dört değerden kopyalayabileceğiniz host, port, kullanıcı adı, parola sırasıyla her IP için bir satır okur.
"""One static IP per account or per job with Python Requests.
Each line holds the four values shown for one IP in your dashboard:
host:port:username:password
"""
import os
from urllib.parse import quote
import requests
STATIC_IPS = {
"store-uk": os.environ.get("PROXY_STORE_UK", "gw.steadyproxy.com:7777:USERNAME:PASSWORD"),
"store-de": os.environ.get("PROXY_STORE_DE", "gw.steadyproxy.com:7777:USERNAME:PASSWORD"),
}
def session_for(name):
host, port, user, password = STATIC_IPS[name].split(":", 3)
proxy = "http://" + quote(user, safe="") + ":" + quote(password, safe="") + "@" + host + ":" + port
session = requests.Session()
session.trust_env = False
session.proxies = {"http": proxy, "https": proxy}
return session
for account in STATIC_IPS:
with session_for(account) as s:
ip = s.get("https://api.ipify.org", timeout=(10, 30)).text
print(account, "->", ip)
HTTP yerine SOCKS5'i nasıl kullanırım?
requests[socks] yükleyin ve http:// yerine socks5h://, HTTP portu yerine SOCKS5 portunu kullanın. h, proxy'nin host adlarını çözmesini sağlar, böylece DNS yanıtları IP'nin ülkesiyle eşleşir. Kodun geri kalanı aynı kalır. Eksiksiz, test edilmiş bir örnek SOCKS5 statik proxy rehberinde. Tek bir statik IP'nin her iki portu da aynı çıkış IP'sine götürür.
Yaygın hatalar ne anlama gelir?
Her hata tek bir katmana işaret eder.
- 407 içeren ProxyError: yanlış kullanıcı adı veya parola ya da bu makine izin listenizde değil.
- ConnectTimeout: yanlış host veya port ya da sizin tarafınızdaki bir güvenlik duvarı proxy portuna giden trafiği engelliyor.
- ReadTimeout: hedef veya yol yavaş; daha sonra yeniden deneyin ve okuma timeout'unu koruyun.
- SSLError: hedefte veya makinenizde sertifika sorunu; doğrulamayı kapatmayın.
- Hedeften 403 veya 429: site isteği reddetti veya hız sınırladı; yavaşlayın.
Bir IP bir saat boyunca her istekte başarısız olursa destek ekibiyle iletişime geçin. Değiştirme kuralımız: Bir IP çalışmıyorsa desteğe yazın: stok imkan verdiğinde onu onarırız veya aynı ülkedeki başka bir IP ile değiştiririz.
Python ve statik proxy'ler hakkında başka neler soruluyor?
Neden hem http hem de https anahtarını ayarlıyorum?
Requests, proxy'yi hedef URL'nin şemasına göre seçer. https anahtarı olmadan https:// sitelere yapılan istekler doğrudan kendi IP'nizden çıkardı. Her iki anahtarı da aynı proxy URL'sine ayarlamak her isteği statik IP üzerinden gönderir. Betikteki api.ipify.org kontrolü eksik bir anahtarı hemen yakalar.
Kullanıcı adı ve parolayı neden URL-encode ediyorum?
@, : ve / gibi karakterlerin bir URL içinde anlamı vardır. @ içeren bir parola aksi halde giriş bölümünün sonu olarak okunurdu. safe='' ile urllib.parse.quote bunları kodlar ve Requests, girişi proxy'ye göndermeden önce bunları çözer. Bu, hem HTTP hem de socks5h:// URL'leri için geçerlidir.
Neden trust_env False olarak ayarlanır?
Requests varsayılan olarak HTTP_PROXY, HTTPS_PROXY ve NO_PROXY'yi ortamdan okur ve dokümantasyon, ortam proxy'lerinin bir Session'ın proxies ayarını geçersiz kılabileceği konusunda uyarır. Bir VPN veya kurumsal ayar o zaman bazı istekleri başka yere yönlendirebilir. trust_env = False, kodun yalnızca sizin verdiğiniz proxy'yi kullanmasını sağlar.
Aynı kodu httpx veya aiohttp ile kullanabilir miyim?
Evet, mantık aynıdır: host, port, kullanıcı adı ve paroladan oluşturulan bir proxy URL'si, ayrıca bir timeout ve çıkış IP kontrolü. Parametre adları kütüphaneye ve sürüme göre değişir, bu yüzden o kütüphanenin proxy dokümantasyonunu izleyin. Requests'teki Session'larda olduğu gibi her statik IP için bir istemci tutun.
Kimlik bilgilerini depomdan nasıl uzak tutarım?
Bunları örneklerde olduğu gibi ortam değişkenlerinden veya bir secret manager'dan okuyun ve gerçek değerler içeren bir .env dosyasını asla commit etmeyin. Proxy URL'sini loglarda yazdırmayın, çünkü parolayı içerir. IP izin listesi yöntemiyle, izin listesindeki makinelerdeki betikler hiçbir proxy parolasına ihtiyaç duymaz.
Python'da tek bir statik IP kaç istek kaldırabilir?
Proxy, GB başına değil, IP ve 30 gün başına faturalandırır. GB başına değil, IP ve 30 gün başına faturalandırılır; adil kullanım geçerlidir. Gerçek sınır, tek bir IP'yi hız sınırlayabilecek hedef sitedir. IP başına eşzamanlılığı ölçülü tutun, gecikmeler ekleyin ve her sitenin şartlarına uyun. Tek bir görevde daha fazla hacim için işi birkaç IP'ye yayın; bkz. kaç statik IP'ye ihtiyacım var?.
Bu kılavuz hangi kaynakları kullanıyor? (3)
- Requests ileri düzey kullanım: proxy'ler, SOCKS, timeout'lar — Requests (2026-10-19)
- urllib.parse: quote — Python Software Foundation (2026-10-19)
- ipify API — ipify (2026-10-19)