Dajte izabranom hostu proxy transport, a ostatku klijenta izričit direktni transport:

import httpx

direct = httpx.HTTPTransport(trust_env=False)
proxied = httpx.HTTPTransport(
    proxy="http://203.0.113.10:8080",
    trust_env=False,
)

with httpx.Client(
    transport=direct,
    mounts={"all://example.com": proxied},
    trust_env=False,
    timeout=15,
) as client:
    response = client.get("https://example.com/")
    print(response.status_code)

    other = client.get("https://example.org/")
    print(other.status_code)

Zamijenite dokumentacijsku adresu željenom HTTP krajnjom tačkom usluge ili iz liste HTTP proxyja. Ovdje example.com koristi montiranje, a example.org direktni zadani transport. Oba poziva su važna: uspjeh samo na proxy hostu ne provjerava rezervnu putanju.

Detalj podudaranjaUčinak
all://example.comTačan host za sve sheme odredišta.
PoddomenaPoseban izbor; namjerno koristite podržani zamjenski znak ako i ona treba odgovarati.
PutanjaMontiranja biraju obrasce sheme, hosta i opcionalnog porta, ne URL putanje.
Preusmjerenje na drugi hostKada je praćenje preusmjerenja uključeno, novi URL se poredi i može koristiti direktnu rezervnu putanju.

Primjer isključuje otkrivanje okruženja na klijentu i oba transporta. Drugo široko proxy pravilo ili odgovarajuće montiranje može promijeniti rezultat pri prilagođavanju. Ako postavljanje zavisi od CA konfiguracije iz okruženja, navedite to povjerenje izričito ili zadržite odgovarajuću politiku otkrivanja, umjesto da ga neprimjetno izgubite.

Nije potrebna promjena proxyja za cijeli računar. U provjerama putanje zadržite i željeni proxy host i namjerno izabrani rezervni host.

Povezani članci