Én nettside trenger en annen proxy enn resten av HTTPS-forespørslene dine. Requests kan uttrykke det valget i selve proxy-ordboken:

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

Nøkkelen som er spesifikk for vertsnavnet, vinner for den destinasjonen. Et annet HTTPS-vertsnavn bruker oppføringen for hele skjemaet. Verdiene beskriver proxy-forbindelsen, så en HTTPS-destinasjon kan korrekt mappes til en HTTP-proxy-URL. Når disse er tillatte offentlige nettstedsruter uten proxy-kontoer, kan HTTP-proxy-listen levere kandidater for disse verdiene; hold hver destinasjonsregel eksplisitt.

Match et vertsnavn, ikke en ressurs-URL

I Requests 2.32.5 bygges den spesifikke nøkkelen fra destinasjonens skjema og det parsede vertsnavnet. Den inneholder ikke stien, spørringen eller porten.

Å legge /monthly til ordboksøkkelen begrenser ikke regelen til den stien. På samme måte er https://reports.example:8443 ikke en portspesifikk nøkkel som denne velgeren kjenner igjen. Vertsnavnregelen gjelder også når destinasjons-URL-en bruker en annen port.

Det er ingen jokertegnutvidelse i dette oppslaget. En regel for reports.example dekker ikke automatisk et underdomene. Bruk en eksplisitt rutingsbeslutning utenfor denne enkle ordboken når policyen krever matching av sti, port eller suffiks.

Vet hvilken fallback som kommer neste

Implementasjonen sjekker nøkler i denne rekkefølgen: scheme://hostname, scheme, all://hostname, deretter all. En HTTPS-oppføring for hele skjemaet har derfor forrang foran en vertsnavnoppføring for alle skjemaer. Sett en skjemaspesifikk vertsnavnregel først i designet ditt når det er den tiltenkte unntaket.

Ta også høyde for hvordan Session-en din slår sammen standardverdier og innstillinger avledet fra miljøet. Å sende disse to eksplisitte oppføringene med forespørselen gjør de tiltenkte rutene klare, men definerer ikke en policy for alle andre destinasjonsskjemaer.

En omdirigering kan innføre et annet vertsnavn, og proxyvalg er også relevant for den nye destinasjonen. Les regelen som en beslutning om hver URL som forespørres, ikke som en permanent rute knyttet til den første siden.

Relaterte artikler