Šaljite samo jedan host kroz HTTPX proxy
Montirajte proxy transport za odabrani host, dok uobičajena rezervna putanja klijenta ostaje izravna.
Dajte odabranom hostu proxy transport, a ostatku klijenta izričit izravni 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 točkom usluge ili s popisa HTTP proxyja. Ovdje example.com koristi montiranje, a example.org izravni zadani transport. Oba poziva su važna: uspjeh samo na proxy hostu ne provjerava rezervnu putanju.
| Detalj podudaranja | Učinak |
|---|---|
all://example.com | Točan host za sve sheme odredišta. |
| Poddomena | Poseban izbor; namjerno koristite podržani zamjenski znak ako i ona treba odgovarati. |
| Putanja | Montiranja biraju obrasce sheme, hosta i neobaveznog porta, ne URL putanje. |
| Preusmjeravanje na drugi host | Kada je praćenje preusmjeravanja uključeno, novi URL se uspoređuje i može koristiti izravnu 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 ovisi o CA konfiguraciji 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 cijelo računalo. U provjerama putanje zadržite i željeni proxy host i namjerno odabrani rezervni host.