Адпраўляць праз проксі HTTPX толькі адзін хост
Падключыце проксі-транспарт для абранага хоста, пакінуўшы звычайны рэзервовы маршрут кліента прамым.
Прызначце абранаму хосту проксі-транспарт, а астатняму кліенту яўна задайце прамы транспарт:
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-налад асяроддзя, задайце гэты давер яўна або захавайце прыдатную палітыку чытання, каб не страціць яго незаўважна.
Мяняць проксі ўсёй машыны не трэба. У праверках маршруту захоўвайце патрэбны проксі-хост і адмыслова абраны рэзервовы хост.