Прокси URL мекенжайы#
Әрбір Python HTTP кітапханасы URL мекенжайы ретінде проксиді алады. Proxy Cyber көмегімен URL тіркелгі деректері мен Мақсатты параметрлер пайдаланушы аты; хост атауы шлюз болып табылады және порт хаттаманы таңдайды.
# 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:9001сұраныстар#
Қосылуды қайта пайдалану және IP тағайындау әртүрлі басқару элементтері болып табылады.Клиент сеансы розеткаларды қайта пайдаланады; тек тағайындалған шлюз айналуды және жабысқақ сеанс әрекетін анықтайды.Сіздің қызметіңізбен жеткізілетін сеанс параметрлерін пайдаланыңыз және бірнеше сұраулардың шығуын тексеріңіз. Розетканы немесе жөнелтуді жабу: басқа 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)HTTP#
HTTP бір алады proxy= аргумент (ескі нұсқалар: proxies=.) Ол HTTP/2-ді Connect туннельі арқылы тағайындалған жерге қолдайды және Async кодында бірдей жұмыс істейді.
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 бір өтінімге немесе бір сессияға проксиді алады және HTTP проксилерін жергілікті түрде айтады; SOCKS5 қажет aiohttp-socks қосқыш.
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())Айналу, тірі ұстау және шегіну#
- Жаңа TCP қосылымы жаңа шығу дәлелі емес, жаңа көлік қосылымы болып табылады.Шлюздің тағайындалған айналу режимі бұл қосылымның қалай бағытталғанын шешеді.
- Тағайындалған шлюз оны қолдайтын әрбір тәуелсіз жұмыс процесі үшін бөлек сеанс идентификаторын пайдаланыңыз. Байланыс мәліметтері бойынша рұқсат етілген уақыт пен орын параметрлерін растаңыз.Тұрғын құрылғы сұралған ұзақтығынан бұрын ажыратылуы мүмкін; жабысқақ сеанс бірнеше күн бойы бірдей IP кепілдігі емес. Бекітілген мекенжай үшін арнайы статикалық өнімді салыстырыңыз.
- Қайталамас бұрын жауапты жіктеңіз. 403 басқа IP шешілмейтін кіру ережесін көрсетуі мүмкін. 429 үшін «Қайта орнату» түймесін құрметтеңіз және сұрау жылдамдығын азайтыңыз; уақытша қосылу немесе сервердің істен шығуы үшін шектелген кері байланысты пайдаланыңыз. Қайталанатын әрекеттерді болдырмау мүмкін болғанда ғана мемлекеттік өзгерту әрекеттерін қайталаңыз.
- Шығу түріне уақытты орнатыңыз: 15 с қосылу және 45 с оқу тұрғын үй үшін, ұялы телефон үшін көбірек.
Гагабайттарды үнемдеу#
Екі бағытта да бір ГБ-қа тұрғын трафик есептеледі.Accept-Encoding: gzip, br әдепкі бойынша осы кітапханаларда), HTML-ге JSON соңғы нүктелерін таңдаңыз және егер олар деректер болмаса, кескіндерді, қаріптерді немесе медианы ешқашан жүктемеңіз. 350 КБ беті арзан; Активтері бар 4 МБ беті жоқ.
Адамдар қоятын сұрақтар#
Неліктен мен бірдей IP-ны сұраулармен алуды жалғастырамын?
Қайталанған IP-лер қосылымның бассейні, белсенді жабысқақ сеанс немесе қол жетімді бассейннен туындауы мүмкін.Белгіленген маршруттау режимін салыстырыңыз және бірнеше сұрауларды уақыт белгілерімен тексеріңіз.Сұрақтар.Сайлау қосылымдар мен cookie файлдарын басқарады; ол проксидің шығуын өзі таңдамайды.
HTTPS сайттары үшін басқа прокси қажет пе?
No бірдей http: // прокси URL мекен-жайлары HTTPS бағыттары бойынша CONNECT туннельі арқылы; TLS сіздің кодыңыз бен сайт арасында аяқталу үшін аяқталады.
Мобильді проксилер үшін бірдей кодты пайдалана аламын ба?
Yes: replace res.proxy-cyber.com with mob.proxy-cyber.com. Ports, credentials and parameters are identical.