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.

Ähnlech Artikelen