Slechts één host door een HTTPX-proxy sturen
Koppel een proxytransport aan de gekozen host en houd de gewone terugvalroute van de client direct.
Geef de gekozen host een proxytransport en de rest van de client expliciet een direct 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)
Vervang het documentatieadres door het bedoelde HTTP-eindpunt van je dienst of uit de lijst met HTTP-proxy’s. Hier gebruikt example.com de mount en example.org de directe standaard. Beide aanroepen tellen: succes bij alleen de proxyhost bevestigt de terugvalroute niet.
| Matchdetail | Effect |
|---|---|
all://example.com | De exacte host voor alle bestemmingsschema’s. |
| Een subdomein | Een aparte keuze; gebruik bewust een ondersteund jokerteken als dat ook moet matchen. |
| Een pad | Mounts selecteren schema-, host- en optionele poortpatronen, geen URL-paden. |
| Een omleiding naar een andere host | Als omleidingen volgen aan staat, wordt de nieuwe URL gematcht en kan die de directe terugval gebruiken. |
Het voorbeeld schakelt omgevingsdetectie uit op de client en beide transporten. Een andere brede proxyregel of passende mount kan bij aanpassing het resultaat veranderen. Steunt de uitrol op CA-configuratie uit de omgeving, geef dat vertrouwen dan expliciet of behoud het passende detectiebeleid, zodat het niet ongemerkt verdwijnt.
Een proxywijziging voor de hele machine is niet nodig. Neem in routecontroles zowel de bedoelde proxyhost als een bewust gekozen terugvalhost op.