Pošaljite samo jedan host kroz HTTPX proxy
Montirajte proxy transport za odabrani host, dok uobičajena rezervna putanja klijenta ostaje direktna.
Odabranom hostu dodijelite proxy transport, a ostatku klijenta eksplicitni 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)
Dokumentacijsku adresu zamijenite namijenjenom HTTP krajnjom tačkom iz usluge ili liste HTTP proxyja. Ovdje example.com koristi mount, a example.org direktni podrazumijevani transport. Oba poziva su bitna: samo uspjeh proxy hosta ne potvrđuje rezervnu putanju.
| Detalj podudaranja | Učinak |
|---|---|
all://example.com | Tačan host kroz sve sheme odredišta. |
| Poddomena | Poseban izbor; namjerno upotrijebite podržani džoker ako i ona treba odgovarati. |
| Putanja | Mountovi biraju obrasce sheme, hosta i opcionalnog porta, a ne URL putanje. |
| Preusmjerenje na drugi host | Kada je praćenje preusmjerenja uključeno, novi URL se ponovo uparuje i može koristiti direktnu rezervnu putanju. |
Primjer isključuje otkrivanje okruženja na klijentu i oba transporta. Drugo široko proxy pravilo ili odgovarajući mount može promijeniti rezultat pri prilagođavanju. Ako postavljanje zavisi od CA konfiguracije iz okruženja, eksplicitno dajte to povjerenje ili zadržite odgovarajuću politiku otkrivanja umjesto da ga tiho izgubite.
Nije potrebna proxy promjena na cijeloj mašini. Provjeravajte i namijenjeni proxy host i namjerno izabran rezervni host.