Hvernig á að nota milliþjón í Python Requests (HTTP/HTTPS og lotuhópun)
Updated:
requests-safnið í Python styður auðkennda VinaProxy-milliþjóna með proxies-orðabók sem varpar bæði 'http' og 'https' yfir á http://user:pass@ip:port. Með því að tengja orðabókina við viðvarandi requests.Session() eru undirliggjandi TCP-tengi endurnýtt fyrir hraðvirkan vefskrapanleika með lágmarksaukaálagi.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- 1 IP40.000 VND
- 5+ IP-tölur35.000 VND
- 10+ IP-tölur25.000 VND
- 20+ IP-tölur25.000 VND
- 50+ IP-tölur25.000 VND
- 100+ IP-tölur25.000 VND
- 200+ IP-tölur25.000 VND
- 500+ IP-tölur25.000 VND
- 1000+ IP-tölur22.000 VND
- 2000+ IP-tölur20.000 VND
- 1 IP40.000 VND
- 5+ IP-tölur35.000 VND
- 10+ IP-tölur25.000 VND
- 20+ IP-tölur25.000 VND
- 50+ IP-tölur25.000 VND
- 100+ IP-tölur25.000 VND
- 200+ IP-tölur25.000 VND
- 500+ IP-tölur25.000 VND
- 1000+ IP-tölur22.000 VND
- 2000+ IP-tölur20.000 VND
Uppsetning á proxies-orðabókinni og endurnýting lotna
Að kalla á requests.get() fyrir hverja vefslóð býr til nýja TCP-tengingu og TLS-handaband í hvert sinn. Með því að binda milliþjóninn við session = requests.Session() haldast proxy-göngin opin á milli samfelldra beiðna.
| Requests-stiki | Ráðlagður ritháttur | Tæknilegur tilgangur |
|---|---|---|
'http' lykill | 'http://user:pass@ip:port' | Beinir venjulegum HTTP-beiðnum í gegnum milliþjóninn |
'https' lykill | 'http://user:pass@ip:port' | Notar http:// svo urllib3 stofni HTTP CONNECT-göng fyrir TLS |
timeout-tvenna | timeout=(5, 15) | 5 sek tengitími og 15 sek lestartími koma í veg fyrir að vinnuþræðir festist |
| Snúningur IP-safns | itertools.cycle(proxy_list) | Skiptir jafnt á milli helgaðra fastra IP-talna í safninu |
Varastu algengar gildrur tengdar urllib3 og ProxyError
- Notaðu alltaf
http://(ekkihttps://) sem forskeyti vefslóðar fyrir bæði'http'og'https'lyklana í orðabókinni, nema milliþjónsgáttin krefjist sérstaklega TLS-yfir-TLS - Vefkóðaðu sértákn í lykilorðum með
urllib.parse.quote(password, safe='') - Villan
407 Proxy Authentication Requiredþýðir að notandanafnið eða lykilorðið í vefslóðastrengnum stemmir ekki við aðgangsorðin í stjórnborðinu þínu - Virkar á nákvæmlega sama hátt með
httpx.Client(proxy='http://user:pass@ip:port')ogaiohttpsession.get(url, proxy=...)
Skref fyrir skref
- 1
Umbreyttu ip:port:user:pass í vefslóðarform
Notaðu Proxy Format Converter tólið okkar til að breyta VinaProxy-listanum þínum í
http://user:pass@ip:portstrengi. - 2
Skilgreindu proxies-orðabókina
Settu
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}í Python-kóðann þinn. - 3
Tengdu við requests.Session() tilvik
Frumstilltu
s = requests.Session()og kallaðu ás.proxies.update(proxies)til að viðhaldaKeep-Alivetengingum. - 4
Staðfestu útgöngu-IP með prófunarbeiðni
Keyrðu
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())til að staðfesta virku IP-tölu milliþjónsins.
Algengar spurningar
Af hverju notar 'https'-lykillinn 'http://user:pass@ip:port'?
Forskeytið http:// segir urllib3 hvernig á að tengjast sjálfum milliþjóninum (með venjulegu HTTP CONNECT), á meðan end-to-end umferð þín til viðkomandi https://-vefsvæðis er áfram að fullu dulkóðuð með TLS.
Hvernig skipti ég á milli 25 fastra milliþjóna fyrir hverja beiðni í Python?
Hlaðið inn 25 proxy-vefslóðum í pool = itertools.cycle(PROXIES) og sendið proxies={'http': p, 'https': p} með hverri beiðni ásamt hóflegum beiðnatakmörkunum á hverja IP-tölu.
Mælir VinaProxy gagnamagn fyrir Python-skrapiforrit?
Nei. Allar Dedicated IPv4 og Static ISP áskriftir innifela ótakmarkaða mánaðarlega umferð.
Búðu til ótakmarkað Python-skrapisafn
Afhending samstundis á Dedicated IPv4 og Static ISP milliþjónum í 7 löndum.
Kaupa Python-milliþjóna