Kā lietot starpniekserveri Python Requests (HTTP/HTTPS un sesiju pūls)
Updated:
Python bibliotēka requests pieņem autentificētus VinaProxy starpniekserverus, izmantojot proxies vārdnīcu, kas piesaista gan 'http', gan 'https' shēmas adresei http://user:pass@ip:port. Šīs vārdnīcas piesaiste pastāvīgam requests.Session() atkārtoti izmanto bāzes TCP ligzdas ātrai datu vākšanai bez liekas noslodzes.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
Vārdnīcas proxies formatēšana un sesiju atkārtota izmantošana
Izsaucot requests.get() katram URL, katru reizi tiek izveidots pilnīgi jauns TCP savienojums un veikta TLS rokasspiediena procedūra. Piesaistot starpniekserveri session = requests.Session(), starpniekservera tunelis paliek atvērts secīgiem pieprasījumiem.
| Requests parametrs | Ieteicamā sintakse | Tehniskais mērķis |
|---|---|---|
'http' atslēga | 'http://user:pass@ip:port' | Novirza parastus HTTP pieprasījumus caur starpniekserveri |
'https' atslēga | 'http://user:pass@ip:port' | Izmanto http:// shēmu, lai urllib3 izveidotu HTTP CONNECT tuneli priekš TLS |
timeout kopa | timeout=(5, 15) | 5 s savienojuma noildze un 15 s nolasīšanas noildze novērš pavedienu iestrēgšanu |
| Pūla rotācija | itertools.cycle(proxy_list) | Vienmērīgi ciklē caur jūsu dedicēto statisko IP pūlu |
Izplatītāko urllib3 un ProxyError kļūdu novēršana
- Vienmēr izmantojiet
http://(nevishttps://) kā starpniekservera URL shēmu gan'http', gan'https'vārdnīcas atslēgām, ja vien jūsu starpniekservera ports skaidri nepieprasa TLS-over-TLS - Kodējiet paroles speciālās rakstzīmes URL formātā, izmantojot
urllib.parse.quote(password, safe='') - Kļūda
407 Proxy Authentication Requirednozīmē, ka lietotājvārds vai parole jūsu URL virknē nesakrīt ar jūsu paneļa akreditācijas datiem - Darbojas identiski ar
httpx.Client(proxy='http://user:pass@ip:port')unaiohttpsession.get(url, proxy=...)
Soli pa solim
- 1
Pārveidojiet ip:port:user:pass uz URL sintaksi
Izmantojiet mūsu Proxy Format Converter, lai pārveidotu savu VinaProxy sarakstu
http://user:pass@ip:portvirknēs. - 2
Definējiet proxies vārdnīcu
Iestatiet
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}savā Python skriptā. - 3
Piesaistiet requests.Session() instancei
Inicializējiet
s = requests.Session()un izsauciets.proxies.update(proxies)pastāvīgaiKeep-Aliveapvienošanai pūlā. - 4
Pārbaudiet izejas IP ar testa pieprasījumu
Palaidiet
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json()), lai apstiprinātu aktīvo starpniekservera IP.
Biežāk uzdotie jautājumi
Kāpēc 'https' atslēga izmanto 'http://user:pass@ip:port'?
Prefikss http:// norāda urllib3, kā izveidot savienojumu ar pašu starpniekserveri (izmantojot standarta HTTP CONNECT), kamēr jūsu gala datplūsma uz mērķa https:// vietni paliek pilnībā šifrēta ar TLS.
Kā rotēt 25 statiskos starpniekserverus starp pieprasījumiem Python?
Ielādējiet savus 25 starpniekserveru URL sarakstā pool = itertools.cycle(PROXIES) un padodiet proxies={'http': p, 'https': p} katram pieprasījumam ar mērenu ātruma ierobežošanu katrai IP.
Vai VinaProxy uzskaita joslas platumu Python skrāpēšanas skriptiem?
Nē. Visi Dedicated IPv4 un Static ISP plāni ietver neierobežotu ikmēneša datplūsmu.
Izveidojiet neierobežotu Python datu vākšanas pūlu
Tūlītēji Dedicated IPv4 un Static ISP starpniekserveri 7 valstīs.
Pirkt Python starpniekserverus