Python
Verbinden Sie sich von Python aus mit RaxyProxy über requests, httpx oder aiohttp.
requests
Der einfachste Weg, Proxies in Python zu verwenden. Keine zusätzlichen Abhängigkeiten außer pip install requests.
basic.py
import requests
PROXY = "http://USERNAME:PASSWORD@proxy.raxyproxy.com:823"
proxies = {
"http": PROXY,
"https": PROXY,
}
r = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=15)
print(r.json()) # {"origin": "203.0.113.42"}Geo-Targeting
geo.py
import requests
# Route through US IPs only (free, no 2× surcharge)
proxies_us = {
"http": "http://USERNAME__cr.us:PASSWORD@proxy.raxyproxy.com:823",
"https": "http://USERNAME__cr.us:PASSWORD@proxy.raxyproxy.com:823",
}
# City-level (Los Angeles) — consumes 2× traffic for residential/mobile/datacenter
proxies_la = {
"http": "http://USERNAME__cr.us;city.losangeles:PASSWORD@proxy.raxyproxy.com:823",
"https": "http://USERNAME__cr.us;city.losangeles:PASSWORD@proxy.raxyproxy.com:823",
}
r = requests.get("https://httpbin.org/ip", proxies=proxies_us)
print(r.json())Sticky-Sessions
sticky.py
import requests
# sessid sticky — same IP for ~30 min on standard port
SESSION_ID = "my-workflow-abc123"
proxy_url = f"http://USERNAME__sessid.{SESSION_ID}:PASSWORD@proxy.raxyproxy.com:823"
proxies = {"http": proxy_url, "https": proxy_url}
r1 = requests.get("https://httpbin.org/ip", proxies=proxies)
r2 = requests.get("https://httpbin.org/ip", proxies=proxies)
print(r1.json(), r2.json()) # same IP both times
# Port-based sticky — port 10001 always returns the same IP
proxies_sticky_port = {
"http": "http://USERNAME:PASSWORD@proxy.raxyproxy.com:10001",
"https": "http://USERNAME:PASSWORD@proxy.raxyproxy.com:10001",
}
r3 = requests.get("https://httpbin.org/ip", proxies=proxies_sticky_port)
print(r3.json())httpx (async)
pip install httpx — unterstützt async und bietet integrierte Proxy-Unterstützung.
httpx_example.py
import asyncio
import httpx
PROXY = "http://USERNAME:PASSWORD@proxy.raxyproxy.com:823"
async def fetch(url: str) -> dict:
async with httpx.AsyncClient(proxy=PROXY, timeout=15) as client:
r = await client.get(url)
return r.json()
async def main():
# Run 10 concurrent requests — each gets a different IP
tasks = [fetch("https://httpbin.org/ip") for _ in range(10)]
results = await asyncio.gather(*tasks)
for r in results:
print(r["origin"])
asyncio.run(main())aiohttp
pip install aiohttp
aiohttp_example.py
import asyncio
import aiohttp
PROXY = "http://proxy.raxyproxy.com:823"
AUTH = aiohttp.BasicAuth("USERNAME", "PASSWORD")
async def fetch(session: aiohttp.ClientSession, url: str) -> str:
async with session.get(url, proxy=PROXY, proxy_auth=AUTH) as r:
data = await r.json()
return data["origin"]
async def main():
async with aiohttp.ClientSession() as session:
tasks = [fetch(session, "https://httpbin.org/ip") for _ in range(5)]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())Session-Pool-Muster
Verwalten Sie einen Pool von Sticky-Proxy-Slots für parallele unabhängige Sessions.
pool.py
import requests
from concurrent.futures import ThreadPoolExecutor
HOST = "proxy.raxyproxy.com"
USER = "USERNAME"
PASS = "PASSWORD"
def make_proxy(port: int) -> dict:
"""Each port 10001–10010 is a dedicated sticky slot."""
url = f"http://{USER}:{PASS}@{HOST}:{port}"
return {"http": url, "https": url}
def scrape(task: tuple[int, str]) -> dict:
slot, url = task
proxies = make_proxy(10000 + slot)
r = requests.get(url, proxies=proxies, timeout=15)
return {"slot": slot, "ip": r.json()["origin"], "url": url}
urls = [f"https://example.com/page/{i}" for i in range(10)]
tasks = list(enumerate(urls))
with ThreadPoolExecutor(max_workers=10) as pool:
results = list(pool.map(scrape, tasks))
for r in results:
print(f"Slot {r['slot']} (IP {r['ip']}): {r['url']}")Kombinieren Sie für groß angelegtes Scraping rotierende Proxies (Port 823) mit einem Wiederholungsmechanismus. Siehe Troubleshooting for common error codes and how to handle them.