Doneu al host triat un transport proxy i a la resta del client un transport directe explícit:

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)

Substituïu l’adreça documental pel punt HTTP previst del servei o de la llista de proxys HTTP. Aquí example.com utilitza el muntatge i example.org el valor directe predeterminat. Totes dues crides importen: l’èxit només al host amb proxy no verifica la ruta de reserva.

Detall de coincidènciaEfecte
all://example.comEl host exacte amb tots els esquemes de destinació.
Un subdominiUna tria separada; utilitzeu intencionadament un comodí admès si també ha de coincidir.
Un camíEls muntatges seleccionen patrons d’esquema, host i port opcional, no camins d’URL.
Una redirecció a un altre hostQuan se segueixen redireccions, s’avalua el nou URL i pot utilitzar la reserva directa.

L’exemple desactiva la lectura de l’entorn al client i als dos transports. Una altra regla proxy àmplia o un muntatge coincident pot canviar el resultat en adaptar-lo. Si el desplegament depèn de configuració CA de l’entorn, proporcioneu aquesta confiança explícitament o conserveu la política de detecció adient, en lloc de perdre-la silenciosament.

No cal canviar el proxy de tota la màquina. Manteniu a les comprovacions de ruta tant el host previst amb proxy com un host de reserva triat deliberadament.

Articles relacionats