Proxy URL- adressen#
Med Proxy Cyber bærer URL'en dine legitimationsoplysninger og den server, der er tilknyttet proxyen, skal bruges til at udføre opgaven. målretningsparametre i brugernavnet; værtsnavnet er gatewayen og porten vælger protokollen.
# Rotating: a new United States household on every new connection
http://USER-cc-us:PASS@res.proxy-cyber.com:9000
# Sticky: one Berlin household held for 30 minutes under the id "job42"
http://USER-cc-de-city-berlin-sid-job42-ttl-30m:PASS@res.proxy-cyber.com:9000
# SOCKS5 with remote DNS (socks5h), same parameters
socks5h://USER-cc-us:PASS@res.proxy-cyber.com:9001anmodninger#
Genbrug af forbindelse og IP-tildeling er forskellige kontrolelementer. En klientsession genbruger sockets, kun den tildelte gateway bestemmer rotation og funktionsmåde for fastlåst session. Brug de sessionsparametre, der leveres med din tjeneste, og bekræft exit over flere anmodninger. Lukning af en socket eller afsendelse af Connection: close garanterer ikke en anden IP.
import requests
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
proxies = {"http": PROXY, "https": PROXY}
# One request, one exit
r = requests.get("https://api.ipify.org", proxies=proxies, timeout=30)
print(r.text)
# A sticky flow: same exit for every request of this session
sticky = "http://USER-cc-de-city-berlin-sid-cart42-ttl-15m:PASS@res.proxy-cyber.com:9000"
s = requests.Session()
s.proxies = {"http": sticky, "https": sticky}
s.get("https://example.com/product/1", timeout=30)
s.post("https://example.com/cart", json={"id": 1}, timeout=30)httpx#
httpx tager en enkelt proxy= argument (ældre versioner: proxies=Den understøtter HTTP/2 til destinationen gennem CONNECT tunnellen og fungerer på samme måde i asynkron kode.
import httpx
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
with httpx.Client(proxy=PROXY, timeout=30) as client:
print(client.get("https://api.ipify.org").text)
# async, one sticky exit per task
import asyncio
async def fetch(sid: str, url: str) -> str:
proxy = f"http://USER-cc-us-sid-{sid}-ttl-10m:PASS@res.proxy-cyber.com:9000"
async with httpx.AsyncClient(proxy=proxy, timeout=30) as client:
return (await client.get(url)).text
asyncio.run(fetch("task1", "https://api.ipify.org"))aiohttp#
aiohttp tager proxyen pr. forespørgsel eller pr. session og taler HTTP-proxyer naturligt; SOCKS5 har brug for aiohttp-socks stik.
import aiohttp, asyncio
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
async def main():
async with aiohttp.ClientSession() as session:
async with session.get("https://api.ipify.org", proxy=PROXY, timeout=aiohttp.ClientTimeout(total=30)) as r:
print(await r.text())
asyncio.run(main())Rotation, hold-i-live og genforsøg#
- En ny TCP-forbindelse er en ny transportforbindelse, ikke et bevis på en ny exit.Gateways tildelte rotationstilstand bestemmer, hvordan forbindelsen rutes.
- Brug et særskilt sessions-id til hver uafhængig arbejdsgang, hvor den tildelte gateway understøtter det. Bekræft de tilladte varigheds- og placeringsparametre i dine forbindelsesoplysninger. En hjemmeenhed kan afbryde forbindelsen før den ønskede varighed; en fastlåst session er ikke en garanti for samme IP i dagevis. For en fast adresse skal du sammenligne med et dedikeret statisk produkt.
- Klassificer svaret, før du forsøger igen. En 403 kan angive en adgangsregel, som en anden IP ikke vil løse. For 429 skal du respektere Retry-After og reducere anmodningsfrekvensen. Brug begrænset tilbagetrækning til midlertidige forbindelser eller serverfejl.
- Indstil timeouts til exit type: 15 s forbinde og 45 s læse for bolig, mere for mobil.
Sparer gigabytes#
Privat trafik faktureres pr. GB i begge retninger. Spørg efter komprimerede svar (Accept-Encoding: gzip, br Brug JavaScript (som er slået til som standard i disse biblioteker), foretrækker JSON-slutpunkter frem for HTML, og download aldrig billeder, skrifttyper eller medier, medmindre det er dataene.En 350 KB side er billig; en 4 MB side med aktiver er ikke.
Spørgsmål folk stiller#
Hvorfor bliver jeg ved med at få den samme IP med forespørgsler?
Gentagne IP-adresser kan skyldes forbindelsespooling, en aktiv fast session eller den ledige pool.Sammenlign den tildelte routingtilstand og test flere anmodninger med tidsstempler.A requests.Session administrerer forbindelser og cookies; det vælger ikke selv proxyudgangen.
Har jeg brug for en anden proxy til HTTPS-websteder?
Den samme http://-proxywebadresse håndterer HTTPS-destinationer via en CONNECT-tunnel; TLS kører fra ende til anden mellem din kode og websitet.
Kan jeg bruge den samme kode til mobile proxy'er?
Yes: replace res.proxy-cyber.com with mob.proxy-cyber.com. Ports, credentials and parameters are identical.