Asigna al host elegido un transporte proxy y al resto del cliente un transporte directo explícito:

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)

Sustituye la dirección documental por el punto HTTP deseado de tu servicio o la lista de proxies HTTP. Aquí example.com usa el montaje y example.org el valor directo predeterminado. Ambas llamadas importan: el éxito solo en el host con proxy no verifica la ruta de reserva.

Detalle de coincidenciaEfecto
all://example.comEl host exacto en todos los esquemas de destino.
Un subdominioUna elección separada; usa deliberadamente un comodín admitido si también debe coincidir.
Una rutaLos montajes eligen patrones de esquema, host y puerto opcional, no rutas de URL.
Una redirección a otro hostCuando se habilita seguir redirecciones, se evalúa la nueva URL y puede usarse la reserva directa.

El ejemplo desactiva la lectura del entorno en el cliente y ambos transportes. Otra regla proxy amplia o montaje coincidente puede cambiar el resultado al adaptarlo. Si el despliegue depende de configuración CA del entorno, proporciona esa confianza explícitamente o conserva la política adecuada de lectura, en vez de perderla sin aviso.

No hace falta cambiar el proxy de toda la máquina. Incluye en las comprobaciones de ruta tanto el host previsto con proxy como un host de reserva elegido deliberadamente.

Artículos relacionados