Kasuta proxy=, kui üks lõpp-punkt peab käsitlema kliendi päringuid. Kasuta mounts=, kui sihtskeemid vajavad eri teid. Näited kasutavad neid HTTPX-i liideseid; vanema proxies= API-ga projekt vajab versioonile vastavat seadistust.

Üks lõpp-punkt

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)

Asenda kohalik kuulaja töötava HTTP-puhverserveriga. Ka HTTP-puhverserverite loendi kandidaat vajab katset sinu sihtkohaga. HTTPS-sihtkoht saab seda http:// lõpp-punkti kasutada CONNECT-i kaudu. Skeemi muutmine kujule https:// küsib TLS-i puhverserveri endani ning nõuab nii kuulaja kui ka kliendi tuge.

Eri teed sihtskeemi järgi

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)

Liitmisvõtmed vastavad siht-URL-idele. HTTP-sihtkohad valivad siin pordi 8080, HTTPS-sihtkohad pordi 8081. Puhverserveri väärtus kirjeldab kuulaja enda protokolli, seega võib HTTPS-liide õigesti sisaldada http:// puhverserverit. Sisesta oma lõpp-punktid ja kontrolli mõlemat sihtskeemi.

Mõlemad retseptid seavad trust_env=False kliendil ja antud transportidel. Muidu loeb HTTPX vaikimisi puhverserveri ja sertifikaadi keskkonnamuutujaid. Kui paigaldus neist sõltub, hoia tuvastus sees või määra vajalikud teed ja usaldus selgelt. Privaatse usalduse jaoks kasuta oma HTTPX-i versiooni toetatud TLS-konteksti ja CA-seadistust; jäta sihtkoha kontroll sisse. HTTPS-puhverserveri usaldus võib olla sihtkoha omast eraldi.

httpx.Timeout(15.0, connect=5.0) kirjutab ühenduse ajalõpu üle ja annab teistele seadistatud osadele vaikeväärtuse. Lugemisel, kirjutamisel ja ühenduskogumi ootamisel on eri piirid; viisteist sekundit ei ole kogu möödunud aja ülempiir. Kogumi ajalõpp võib tähendada, et muu töö hoiab saadaolevaid ühendusi. Sule kliendid ja voogvastused õigesti enne, kui pead seda kättesaamatu puhverserveri tõendiks.

Seotud artiklid