Ét websted har brug for en anden proxy end resten af dine HTTPS-anmodninger. Requests kan udtrykke det valg i selve proxy-ordbogen:

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øglen, der er specifik for værtsnavnet, vinder for den destination. Et andet HTTPS-værtsnavn bruger posten for hele skemaet. Værdierne beskriver proxy-forbindelsen, så en HTTPS-destination kan korrekt mappes til en HTTP-proxy-URL. Når disse er tilladte offentlige webstedsruter uden proxy-konti, kan HTTP-proxy-listen levere kandidater til disse værdier; hold hver destinationsregel eksplicit.

Match et værtsnavn, ikke en ressource-URL

I Requests 2.32.5 bygges den specifikke nøgle ud fra destinationens skema og det parsede værtsnavn. Den indeholder ikke stien, forespørgslen eller porten.

At tilføje /monthly til ordbogsnøglen begrænser ikke reglen til den sti. Ligeledes er https://reports.example:8443 ikke en port-specifik nøgle, som denne vælger genkender. Værtsnavnreglen gælder også, når destinations-URL'en bruger en anden port.

Der er ingen jokertegnsudvidelse i dette opslag. En regel for reports.example dækker ikke automatisk et underdomæne. Brug en eksplicit routingbeslutning uden for denne simple ordbog, når politikken kræver matchning af sti, port eller suffiks.

Vid, hvilken fallback der kommer næste

Implementeringen kontrollerer nøgler i denne rækkefølge: scheme://hostname, scheme, all://hostname og derefter all. En HTTPS-post for hele skemaet har derfor forrang frem for en værtsnavnpost for alle skemaer. Sæt en skema-specifik værtsnavnregel først i dit design, når det er den tilsigtede undtagelse.

Tag også højde for, hvordan din Session fletter standardindstillinger og indstillinger afledt af miljøet. At sende disse to eksplicitte poster med anmodningen gør deres tilsigtede ruter klare, men definerer ikke en politik for alle andre destinationsskemaer.

En omdirigering kan indføre et andet værtsnavn, og proxyvalg er også relevant for den nye destination. Læs reglen som en beslutning om hver URL, der anmodes om, snarere end en permanent rute knyttet til den første side.

Relaterede artikler