Дайте на избрания хост прокси транспорт, а на останалата част от клиента — явен директен транспорт:

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)

Заменете адреса за документация с желания HTTP край на услугата или от списъка с HTTP проксита. Тук example.com използва монтирането, а example.org — директния стандартен транспорт. И двете извиквания са важни: успех само на прокси хоста не проверява резервния маршрут.

Детайл на съвпадениетоЕфект
all://example.comТочният хост за всички схеми на дестинацията.
ПоддомейнОтделен избор; използвайте умишлено поддържан заместващ символ, ако също трябва да съвпада.
ПътМонтиранията избират шаблони за схема, хост и незадължителен порт, не URL пътища.
Пренасочване към друг хостКогато следването на пренасочвания е включено, новият URL се съпоставя и може да използва директния резервен маршрут.

Примерът изключва откриването на средата за клиента и двата транспорта. Друго широко прокси правило или съвпадащо монтиране може да промени резултата при адаптиране. Ако внедряването разчита на CA конфигурация от средата, задайте доверието явно или запазете подходяща политика за откриване, вместо да го загубите безшумно.

Не е нужна промяна на проксито за цялата машина. В проверките на маршрута пазете и желания прокси хост, и умишлено избран резервен хост.

Подобни статии