Odabranom hostu dodijelite proxy transport, a ostatku klijenta eksplicitni direktni 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)

Dokumentacijsku adresu zamijenite namijenjenom HTTP krajnjom tačkom iz usluge ili liste HTTP proxyja. Ovdje example.com koristi mount, a example.org direktni podrazumijevani transport. Oba poziva su bitna: samo uspjeh proxy hosta ne potvrđuje rezervnu putanju.

Detalj podudaranjaUčinak
all://example.comTačan host kroz sve sheme odredišta.
PoddomenaPoseban izbor; namjerno upotrijebite podržani džoker ako i ona treba odgovarati.
PutanjaMountovi biraju obrasce sheme, hosta i opcionalnog porta, a ne URL putanje.
Preusmjerenje na drugi hostKada je praćenje preusmjerenja uključeno, novi URL se ponovo uparuje i može koristiti direktnu rezervnu putanju.

Primjer isključuje otkrivanje okruženja na klijentu i oba transporta. Drugo široko proxy pravilo ili odgovarajući mount može promijeniti rezultat pri prilagođavanju. Ako postavljanje zavisi od CA konfiguracije iz okruženja, eksplicitno dajte to povjerenje ili zadržite odgovarajuću politiku otkrivanja umjesto da ga tiho izgubite.

Nije potrebna proxy promjena na cijeloj mašini. Provjeravajte i namijenjeni proxy host i namjerno izabran rezervni host.

Povezani članci