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 potrivireEfect
all://example.comGazda exactă pentru toate schemele de destinație.
Un subdomeniuO alegere separată; folosiți intenționat un metacaracter acceptat dacă trebuie să se potrivească și el.
O caleMontă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.

Articole similare