HTTPX-Proxyrutte mat proxy a mounts auswielen
Benotzt HTTPX proxy an Transport-Montagë mam richtegen Endpunktschema, explizittem Ëmweltverhalen a getrennte Verbindungs- a Lieslimiten.
Benotzt proxy=, wann een Endpunkt d’Ufroe vum Client handhabe soll. Benotzt mounts=, wann Zilschemae verschidde Rutte brauchen. D’Beispiller notzen dës HTTPX-Schnittstellen; e Projet mat der aler API proxies= brauch eng zur Versioun passend Konfiguratioun.
Een Endpunkt
import httpx
timeout = httpx.Timeout(15.0, connect=5.0)
with httpx.Client(
proxy="http://127.0.0.1:8080",
trust_env=False,
timeout=timeout,
) as client:
response = client.get("https://example.com/")
response.raise_for_status()
print(response.status_code)
Ersetzt de lokale Listener duerch e lafenden HTTP-Proxy. Och e Kandidat aus der Lëscht vun HTTP-Proxye muss mat Ärem Zil getest ginn. En HTTPS-Zil kann dësen http://-Endpunkt iwwer CONNECT benotzen. D’Schema op https:// z’änneren freet dogéint TLS beim Proxy selwer un, wat Listener a Client ënnerstëtze mussen.
Getrennte Rutte jee no Zilschema
import httpx
mounts = {
"http://": httpx.HTTPTransport(
proxy="http://127.0.0.1:8080",
trust_env=False,
),
"https://": httpx.HTTPTransport(
proxy="http://127.0.0.1:8081",
trust_env=False,
),
}
with httpx.Client(
mounts=mounts,
trust_env=False,
timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
response = client.get("https://example.com/")
response.raise_for_status()
print(response.status_code)
Montage-Schlëssele passen op Zil-URLen. HTTP-Ziler wielen hei Port 8080, HTTPS-Ziler Port 8081. De Proxywäert beschreift dem Listener säin eegene Protokoll, also kann d’HTTPS-Montage richteg en http://-Proxy enthalen. Setzt Är Endpunkten an a kontrolléiert béid Zilschemaen.
Béid Rezepter setzen trust_env=False um Client an, wou uginn, op den Transporter. Soss liest HTTPX standardméisseg Proxy- a Certificatsëmweltvariabelen. Wann Är Bereetstellung drop baut, loosst d’Erkennung un oder setzt Rutte a Vertrauen explizitt. Fir privat Vertrauen benotzt TLS-Kontext an CA-Konfiguratioun vun Ärer HTTPX-Versioun; d’Zilkontroll bleift un. Vertrauen zum HTTPS-Proxy ka vum Zilvertrauen getrennt sinn.
httpx.Timeout(15.0, connect=5.0) iwwerschreift de Verbindungstimeout a gëtt den anere konfiguréierten Deeler de Standardwäert. Liesen, Schreiwen a Pool-Waarden hu getrennte Grenzen; fofzéng Sekonne sinn net d’Gesamtfrist fir déi vergaangen Zäit. E Pooltimeout ka bedeiten, datt aner Aarbecht disponibel Verbindunge festhält. Maacht Clienten a Streamingäntwerte richteg zou, éier Dir dat als Beweis fir en onerreechbare Proxy kuckt.