Välj en Requests-proxy för en enda webbplats
Ge ett destinationsvärdnamn en annan proxy i Requests och förstå gränserna för matchning och ordningen för reservval.
En webbplats behöver en annan proxy än resten av dina HTTPS-förfrågningar. Requests kan uttrycka det valet i själva 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()
Nyckeln som är specifik för värdnamnet vinner för den destinationen. Ett annat HTTPS-värdnamn använder posten för hela schemat. Värdena beskriver proxyanslutningen, så en HTTPS-destination kan korrekt mappas till en HTTP-proxy-URL. När dessa är tillåtna rutter för offentliga webbplatser utan proxykonton kan HTTP-proxylistan leverera kandidater för dessa värden; håll varje destinationsregel explicit.
Matcha ett värdnamn, inte en resurs-URL
I Requests 2.32.5 byggs den specifika nyckeln från destinationens schema och det parsade värdnamnet. Den innehåller inte sökvägen, frågan eller porten.
Att lägga till /monthly i ordboksnyckeln begränsar inte regeln till den sökvägen. På samma sätt är https://reports.example:8443 inte en portspecifik nyckel som den här väljaren känner igen. Värdnamnsregeln gäller även när destinations-URL:en använder en annan port.
Det finns ingen jokerteckenexpansion i den här uppslagningen. En regel för reports.example täcker inte automatiskt en subdomän. Använd ett explicit routingbeslut utanför den här enkla ordboken när policyn kräver matchning av sökväg, port eller suffix.
Vet vilket reservval som kommer härnäst
Implementeringen kontrollerar nycklar i den här ordningen: scheme://hostname, scheme, all://hostname och sedan all. En HTTPS-post för hela schemat har därför företräde framför en värdnamnspost för alla scheman. Placera en schemaspecifik värdnamnsregel först i din design när det är det avsedda undantaget.
Ta också hänsyn till hur din Session slår samman standardvärden och inställningar härledda från miljön. Att skicka dessa två explicita poster med förfrågan gör deras avsedda rutter tydliga, men definierar inte en policy för varje annat destinationsschema.
En omdirigering kan införa ett annat värdnamn, och proxyvalet är relevant även för den nya destinationen. Läs regeln som ett beslut om varje URL som efterfrågas, inte som en permanent rutt knuten till den första sidan.