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.comPresný hostiteľ naprieč cieľovými schémami.
SubdoménaSamostatná voľba; ak má tiež zodpovedať, zámerne použite podporovaný zástupný znak.
CestaMounts vyberajú vzory schémy, hostiteľa a voliteľného portu, nie cesty URL.
Presmerovanie na iného hostiteľaAk 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.

Súvisiace články