Eng Proxy-IP a Python Requests benotzen
Setzt ausdrécklech Proxyrouten pro Ufro a Requests, wielt dat richtegt Endpunktschema a behandelt Timeouts a Feeler am HTTPS-Tunnel.
Wann Requests am Projet disponibel ass, gitt eng Proxy-Zouuerdnung un den Opruff:
import requests
proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
response = requests.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
print(response.status_code)
Ersetzt de Loopback-Endpunkt duerch Äre lafende Proxy oder e Kandidat aus der Lëscht vun HTTP-Proxye, deen Dir mat dëser Ufro test. D’Schlëssele beschreiwen d’Zilschemaen: http fir HTTP-URLen an https fir HTTPS-URLen. D’Wäerter beschreiwen de Listener vum Proxy. Et kënne verschidden Endpunkte sinn, wann d’Netz getrennte Route verlaangt.
E Proxywäert mat http:// ënner dem Schlëssel https ass bewosst gewielt. Requests freet den HTTP-Listener no engem CONNECT-Tunnel a baut duerno TLS mam Zil doduerch op, ënner de Reegelen vum Proxy fir Ziler a Porte. De Wäert op https:// z’änneren freet no TLS mam Proxy selwer; dat ka feelgoen, wann de Listener onverschlësselten HTTP erwaart.
Wat déi zwee Timeout-Zuele bedeiten
timeout=(5, 15) setzt Timeouts fir d’Verbindung an d’Liesen. Et setzt keng Gesamtfrist vu fofzéng Sekonnen. Reegelméisseg erakommend Daten, verschidden Adressen a Verbindungsversich kënnen déi vergaangen Zäit verlängeren. Requests gëtt keen allgemengen Timeout, wann Dir d’Astellung ewechloosst. Wielt Grenze passend zur Äntwert an ergänzt eng Frist um Applikatiounsniveau, wann d’Aarbecht e strengt Gesamtzäitbudget brauch.
Behandelt de Feeler do, wou en entsteet
try:
response = requests.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
except requests.exceptions.ProxyError as error:
print("Proxy setup failed:", type(error).__name__)
except requests.exceptions.Timeout:
print("A configured timeout expired")
except requests.exceptions.HTTPError as error:
print("HTTP status:", error.response.status_code)
En ofgeleente CONNECT kann ProxyError ausléisen, éier eng Äntwert vum Zil existéiert. D’Branche HTTPError kënnt no enger empfaangener Äntwert mat Feelerstatus; Timeout bedeit, datt eng konfiguréiert Grenz ofgelaf ass. Kuckt d’Exceptiounskette vum Verbindungsopbau lokal duerch an huelt Endpunkte mat Zougangsdaten a privat URLen eraus, éier Dir se deelt.
Loosst d’Zertifikatskontroll ageschalt. Wann dat autoriséiert Netz eng privat CA oder geréiert Ofgräife benotzt, gitt dat erwaart Vertrauensmaterial un, amplaz d’Kontroll auszeschalten.
Ausdrécklech Entréeë pro Ufro steieren déi hei uginn Routen, mee ewechgelooss Schemae kënnen nach vum Proxy-Entdecken aus der Ëmgéigend beaflosst ginn. Wann Dir den Opruff an eng nees benotzbar Session réckelt, decidéiert wéi Ëmweltvariabelen, Session-Standardwäerter an Iwwerschreiwunge pro Ufro zesummespille sollen; Verbindungswiederverwendung a Routingpolitik si getrennte Choixen.