Posielajte cez proxy HTTPX len jedného hostiteľa
Pripojte transport proxy pre vybraného hostiteľa a bežnú záložnú trasu klienta ponechajte priamu.
Dajte vybranému hostiteľovi transport proxy a zvyšku klienta explicitný priamy 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ýšľaným HTTP bodom služby alebo zo zoznamu HTTP proxy. Tu example.com používa pripojenie mount a example.org priamy predvolený transport. Obe volania sú dôležité: úspech iba u hostiteľa s proxy neoverí záložnú trasu.
| Detail zhody | Účinok |
|---|---|
all://example.com | Presný hostiteľ naprieč cieľovými schémami. |
| Subdoména | Samostatná voľba; ak má tiež zodpovedať, zámerne použite podporovaný zástupný znak. |
| Cesta | Mounts vyberajú vzory schémy, hostiteľa a voliteľného portu, nie cesty URL. |
| Presmerovanie na iného hostiteľa | Ak je nasledovanie presmerovaní zapnuté, vyhodnotí sa nová URL a môže použiť priamu záložnú trasu. |
Príklad vypína čítanie prostredia u klienta a oboch transportov. Iné široké pravidlo proxy alebo zodpovedajúci mount môže pri prispôsobení zmeniť výsledok. Ak nasadenie závisí od CA konfigurácie z prostredia, zadajte túto dôveru explicitne alebo zachovajte vhodné zisťovanie, aby sa potichu nestratila.
Netreba meniť proxy celého počítača. V kontrolách trás ponechajte zamýšľaného hostiteľa s proxy aj zámerne vybraného záložného hostiteľa.