Една веб-страница бара различна прокси од остатокот од вашите 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, а не како трајна рута прикачена на првата страница.

Поврзани статии