Адзін сайт патрабуе іншага проксі, чым астатнія вашыя 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, а не як пастаянны маршрут, прывязаны да першай старонкі.

Падобныя артыкулы