Једном веб-сајту је потребан другачији прокси од остатка ваших HTTPS захтева. Requests може да изрази тај избор у самом речнику проксија:

routes = {
    "https://reports.example": "http://reports-proxy.example:8080",
    "https": "http://default-proxy.example:8080",
}
response = requests.get(
    "https://reports.example/monthly",
    proxies=routes,
    timeout=(5, 20),
)
response.raise_for_status()

За ту одредницу побеђује кључ специфичан за име хоста. Друго HTTPS име хоста користи запис на нивоу шеме. Вредности описују везу са проксијем, па се HTTPS одредница може исправно пресликати на URL HTTP проксија. Када су то дозвољене путање јавних сајтова без налога за прокси, листа HTTP проксија може да пружи кандидате за те вредности; држите свако правило одреднице експлицитним.

Подударајте име хоста, а не URL ресурса

У Requests 2.32.5 специфични кључ се гради од шеме одреднице и рашчлањеног имена хоста. Не садржи путању, упит ни порт.

Додавање /monthly у кључ речника неће ограничити правило на ту путању. Исто тако, https://reports.example:8443 није кључ специфичан за порт који овај бирач препознаје. Правило имена хоста важи и када URL одреднице користи други порт.

У овом претраживању нема проширења џокер знацима. Правило за reports.example не покрива поддомен аутоматски. Користите експлицитну одлуку о рутирању изван овог једноставног речника када политика захтева подударање путање, порта или суфикса.

Знајте која резервна опција следи

Имплементација проверава кључеве овим редом: scheme://hostname, scheme, all://hostname, затим all. Зато запис HTTPS на нивоу шеме има предност над записом имена хоста за све шеме. Ставите правило имена хоста специфично за шему прво у свој дизајн када је то намеравани изузетак.

Узмите у обзир и како ваша Session спаја подразумеване и поставке изведене из окружења. Слање ова два експлицитна записа уз захтев чини њихове намераване путање јасним, али не дефинише политику за сваку другу шему одреднице.

Преусмеравање може да уведе друго име хоста, а избор проксија је релевантан и за ту нову одредницу. Читајте правило као одлуку о сваком затраженом URL-у, а не као трајну путању прикачену за прву страницу.

Повезани чланци