Trimiteți doar o gazdă printr-un proxy HTTPX
Montați un transport proxy pentru gazda aleasă, păstrând directă ruta normală de rezervă a clientului.
Dați gazdei alese un transport proxy și restului clientului un transport direct explicit:
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)
Înlocuiți adresa documentară cu punctul HTTP dorit al serviciului sau din lista de proxy-uri HTTP. Aici example.com folosește montarea, iar example.org ruta directă implicită. Ambele apeluri contează: succesul doar pe gazda proxy nu verifică ruta de rezervă.
| Detaliu de potrivire | Efect |
|---|---|
all://example.com | Gazda exactă pentru toate schemele de destinație. |
| Un subdomeniu | O alegere separată; folosiți intenționat un metacaracter acceptat dacă trebuie să se potrivească și el. |
| O cale | Montările selectează modele de schemă, gazdă și port opțional, nu căi URL. |
| O redirecționare către altă gazdă | Când urmărirea redirecționărilor este activă, noul URL este evaluat și poate folosi rezerva directă. |
Exemplul dezactivează descoperirea mediului pe client și ambele transporturi. Altă regulă proxy largă sau montare potrivită poate schimba rezultatul la adaptare. Dacă implementarea depinde de configurație CA din mediu, furnizați explicit încrederea sau păstrați politica adecvată de descoperire, în loc să o pierdeți neobservat.
Nu este necesară o schimbare proxy pentru întreaga mașină. Includeți în verificările rutelor atât gazda proxy dorită, cât și o gazdă de rezervă aleasă deliberat.