Posílejte přes proxy HTTPX jen jednoho hostitele
Připojte transport proxy pro vybraného hostitele a běžnou záložní trasu klienta ponechte přímou.
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.com | Přesný hostitel napříč cílovými schématy. |
| Subdoména | Samostatná volba; má-li také odpovídat, záměrně použijte podporovaný zástupný znak. |
| Cesta | Mounts vybírají vzory schématu, hostitele a volitelného portu, nikoli cesty URL. |
| Přesměrování na jiného hostitele | Je-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.