Valitse Requests-välityspalvelin yhdelle verkkosivustolle
Anna yhdelle kohde-isäntänimelle eri välityspalvelin Requestsissa ja ymmärrä täsmäytyksen rajat ja varavaihtoehtojen järjestys.
Yksi verkkosivusto tarvitsee eri välityspalvelimen kuin muut HTTPS-pyyntösi. Requests voi ilmaista tämän valinnan itse välityspalvelinsanastossa:
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()
Kyseiselle kohteelle voittaa isäntänimikohtainen avain. Toinen HTTPS-isäntänimi käyttää skeemakohtaista merkintää. Arvot kuvaavat välityspalvelinyhteyttä, joten HTTPS-kohde voi oikein yhdistyä HTTP-välityspalvelimen URL-osoitteeseen. Kun nämä ovat sallittuja julkisten sivustojen reittejä ilman välityspalvelintilejä, HTTP-välityspalvelinluettelo voi tarjota ehdokkaita näille arvoille; pidä jokainen kohdesääntö nimenomaisena.
Täsmäytä isäntänimi, älä resurssin URL-osoitetta
Requests 2.32.5:ssä erityinen avain rakennetaan kohteen skeemasta ja jäsennetystä isäntänimestä. Se ei sisällä polkua, kyselyä tai porttia.
Kohteen /monthly lisääminen sanaston avaimeen ei rajaa sääntöä tuohon polkuun. Samoin https://reports.example:8443 ei ole porttikohtainen avain, jonka tämä valitsin tunnistaisi. Isäntänimisääntö pätee myös silloin, kun kohteen URL-osoite käyttää toista porttia.
Tässä haussa ei ole jokerimerkkien laajennusta. Sääntö reports.examplelle ei kata aliverkkotunnusta automaattisesti. Käytä nimenomaista reitityspäätöstä tämän yksinkertaisen sanaston ulkopuolella, kun käytäntö vaatii polun, portin tai jälkiliitteen täsmäytystä.
Tiedä, mikä varavaihtoehto tulee seuraavaksi
Toteutus tarkistaa avaimet tässä järjestyksessä: scheme://hostname, scheme, all://hostname ja sitten all. Siksi skeemakohtainen HTTPS-merkintä menee kaikkien skeemojen isäntänimimerkinnän edelle. Aseta skeemakohtainen isäntänimisääntö suunnittelussasi ensimmäiseksi, kun se on aiottu poikkeus.
Ota huomioon myös se, miten Session yhdistää oletukset ja ympäristöstä johdetut asetukset. Näiden kahden nimenomaisen merkinnän välittäminen pyynnön mukana tekee niiden aiotut reitit selviksi, mutta ei määritä käytäntöä jokaiselle muulle kohdeskeemalle.
Uudelleenohjaus voi tuoda toisen isäntänimen, ja välityspalvelimen valinta on merkityksellinen myös sille uudelle kohteelle. Lue sääntö päätöksenä jokaisesta pyydettävästä URL-osoitteesta, ei ensimmäiseen sivuun kiinnittyneenä pysyvänä reittinä.