Dajte odabranom hostu proxy transport, a ostatku klijenta izričit izravni 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)

Zamijenite dokumentacijsku adresu željenom HTTP krajnjom točkom usluge ili s popisa HTTP proxyja. Ovdje example.com koristi montiranje, a example.org izravni zadani transport. Oba poziva su važna: uspjeh samo na proxy hostu ne provjerava rezervnu putanju.

Detalj podudaranjaUčinak
all://example.comTočan host za sve sheme odredišta.
PoddomenaPoseban izbor; namjerno koristite podržani zamjenski znak ako i ona treba odgovarati.
PutanjaMontiranja biraju obrasce sheme, hosta i neobaveznog porta, ne URL putanje.
Preusmjeravanje na drugi hostKada je praćenje preusmjeravanja uključeno, novi URL se uspoređuje i može koristiti izravnu rezervnu putanju.

Primjer isključuje otkrivanje okruženja na klijentu i oba transporta. Drugo široko proxy pravilo ili odgovarajuće montiranje može promijeniti rezultat pri prilagođavanju. Ako postavljanje ovisi o CA konfiguraciji iz okruženja, navedite to povjerenje izričito ili zadržite odgovarajuću politiku otkrivanja, umjesto da ga neprimjetno izgubite.

Nije potrebna promjena proxyja za cijelo računalo. U provjerama putanje zadržite i željeni proxy host i namjerno odabrani rezervni host.

Povezani članci