Интеграције · Почетник

Како користити проксије са Питхон захтевима, хттпк и аиохттп

Три линије конфигурације по библиотеци, а затим исте синтаксе за корисничко име свуда: земља, град и сесија живе у проки УРЛ-у, тако да један пролаз служи сваком послу.

3 мин читати 6 одељака Рецензиран Редакција тима Proxy Cyber

Проки УРЛ#

Сваки Питхон ХТТП библиотека узима проки као УРЛ. Са Кеи Проки УРЛ носи ваше акредитиве и параметри циљања у корисничком имену; име хоста је капија и порт бира протокол.

Проки УРЛ-ови
# 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 конектор.

aiohttp
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.

Ваш налог

Управљајте свим проксијима са једног налога

Упоредите мреже, наручите и пратите свој баланс и захтеве за подршку са једне контролне табле. Наш тим прегледа плаћања и пружа детаље о вези након испоруке.

Направи налог