Éin nettstad treng ein annan proxy enn resten av HTTPS-førespurnadene dine. Requests kan uttrykkje det valet i sjølve proxy-ordboka:

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()

Nykkelen som er spesiell for vertsnamnet, vinn for den destinasjonen. Eit anna HTTPS-vertsnamn brukar oppføringa for heile skjemaet. Verdiane skildrar proxy-tilkoplinga, så ein HTTPS-destinasjon kan rett mappast til ein HTTP-proxy-URL. Når desse er tillatne ruter for offentlege nettstader utan proxy-kontoar, kan HTTP-proxy-lista levera kandidatar for desse verdiane; hald kvar destinasjonsregel eksplisitt.

Match eit vertsnamn, ikkje ein ressurs-URL

I Requests 2.32.5 vert den spesifikke nykkelen bygd frå skjemaet til destinasjonen og det parsaa vertsnamnet. Han inneheld ikkje stien, spørjinga eller porten.

Å leggje /monthly til ordboksnykkelen avgrensar ikkje regelen til den stien. På same måte er https://reports.example:8443 ikkje ein portspesifikk nykkel som denne veljaren kjenner att. Vertsnamnregelen gjeld også når destinasjons-URL-en brukar ein annan port.

Det er inga jokerteiknutviding i dette oppslaget. Ein regel for reports.example dekkjer ikkje automatisk eit underdomene. Bruk eit eksplisitt rutingsvedtak utanfor denne enkle ordboka når policyen krev matching av sti, port eller suffiks.

Vit kva fallback som kjem neste

Implementasjonen sjekkar nyklar i denne rekkjefølgja: scheme://hostname, scheme, all://hostname, deretter all. Ei HTTPS-oppføring for heile skjemaet har derfor forrang framfor ei vertsnamnoppføring for alle skjema. Set ein skjemaspesifikk vertsnamnregel først i designet ditt når det er det tiltenkte unntaket.

Ta også omsyn til korleis Session-en din slår saman standardverdiar og innstillingar avleidde frå miljøet. Å senda desse to eksplisitte oppføringane med førespurnaden gjer dei tiltenkte rutene klare, men definerer ikkje ein policy for alle andre destinasjonsskjema.

Ei omdirigering kan innføre eit anna vertsnamn, og proxyval er også relevant for den nye destinasjonen. Les regelen som eit vedtak om kvar URL som vert førespuurt, ikkje som ei permanent rute knytt til den første sida.

Relaterte artiklar