Dejte vybranému hostiteli transport proxy a zbytku klienta explicitní přímý 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)

Nahraďte dokumentační adresu zamýšleným HTTP bodem služby nebo ze seznamu HTTP proxy. Zde example.com používá připojení mount a example.org přímý výchozí transport. Obě volání jsou důležitá: úspěch jen u hostitele s proxy neověří záložní trasu.

Detail shodyÚčinek
all://example.comPřesný hostitel napříč cílovými schématy.
SubdoménaSamostatná volba; má-li také odpovídat, záměrně použijte podporovaný zástupný znak.
CestaMounts vybírají vzory schématu, hostitele a volitelného portu, nikoli cesty URL.
Přesměrování na jiného hostiteleJe-li následování přesměrování zapnuto, vyhodnotí se nová URL a může použít přímou záložní trasu.

Příklad vypíná čtení prostředí u klienta a obou transportů. Jiné široké pravidlo proxy nebo odpovídající mount může při přizpůsobení změnit výsledek. Pokud nasazení závisí na CA konfiguraci z prostředí, zadejte tuto důvěru explicitně nebo zachovejte vhodné zjišťování, aby se tiše neztratila.

Není nutné měnit proxy celého počítače. V kontrolách tras ponechte zamýšleného hostitele s proxy i záměrně vybraného záložního hostitele.

Související články