Проки УРЛ#
Сваки Питхон ХТТП библиотека узима проки као УРЛ. Са Кеи Проки УРЛ носи ваше акредитиве и параметри циљања у корисничком имену; име хоста је капија и порт бира протокол.
# 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 задатак су различите контроле. Прикључци за поновно коришћење клијентске сесије; само додељени мрежни уређаји одређују ротирање и понашање лепљивих сесија. Користите параметре сесије које се испоручују уз вашу услугу и верификујте излаз преко неколико захтева.
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)хттпк#
хттпк узима једну proxy= аргумент (старије верзије: proxies=) Подржава ХТТП/2 до одредишта кроз Цоннецт тунел и ради на исти начин у асинхроном коду.
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 проксије изворно; SOCS5 треба 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())Ротација, одржавање-жив и поновна употреба#
- Нова ТЦП веза је нова транспортна веза, а не доказ о новом излазу.додељени режим ротације пролаза одлучује како се та веза усмерава.
- Користите јединствени идентификатор сесије за сваки независни ток посла, где додељени мрежни пролаз подржава. Потврдите дозвољено трајање и параметре локације у детаљима везе. Стамбени уређај може да се искључи пре траженог трајања; лепљива сесија није гаранција исте IP адресе данима.
- - У случају да је IP адреса не реши, нека друга страна неће моћи да је реши. За 429, погледајте чланак Поновни процес и смањите брзину захтева. Користите ограничену стопу поврата за привремену везу или неуспех сервера.
- Сет Тимеоутс на излаз типа: 15 с повезивање и 45 с читати за становање, више за мобилне уређаје.
Чување гигабајта#
Стамбени саобраћај се наплаћује по ГБ у оба смера.Accept-Encoding: gzip, br је подразумевано у овим библиотекама), воле ЈСОН крајње тачке на ХТМЛ, и никада преузети слике, фонтове или медије, осим ако су подаци. 350 МБ страна је јефтина; 4 МБ страна са имовином није.
Питања која људи постављају#
Зашто настављам да добијам исту IP адресу са захтевима?
Поновљене IP адресе могу бити резултат повезивања, активне лепљиве сесије или расположивог базена. Упоредите додељени режим за спајање и тестирајте неколико захтева са временским ознакама.
Да ли ми је потребан другачији прокси за ХТТПС сајтове?
Исто хттп:// проки УРЛ руковање ХТТПС преко Цоннецт тунел; ТЛС ради крај између вашег кода и сајта.
Могу ли да користим исти код за мобилне проксије?
Yes: replace res.proxy-cyber.com with mob.proxy-cyber.com. Ports, credentials and parameters are identical.