Pasirinkti Requests tarpinį serverį vienai svetainei
Suteikite vienam paskirties hosto vardui kitą tarpinį serverį Requests ir supraskite atitikimo ribas bei atsarginių variantų tvarką.
Vienai svetainei reikia kito tarpinio serverio nei likusiems jūsų HTTPS užklausoms. Requests gali išreikšti šį pasirinkimą pačiame tarpinių serverių žodyne:
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()
Šiai paskirčiai laimi hosto vardui būdingas raktas. Kitas HTTPS hosto vardas naudoja visos schemos įrašą. Reikšmės apibūdina tarpinio serverio ryšį, todėl HTTPS paskirtis gali būti teisingai susieta su HTTP tarpinio serverio URL. Kai tai leidžiamos viešų svetainių trasos be tarpinių serverių paskyrų, HTTP tarpinių serverių sąrašas gali pasiūlyti kandidatų toms reikšmėms; laikykite kiekvieną paskirties taisyklę aiškią.
Sutapdinkite hosto vardą, o ne ištekliaus URL
Requests 2.32.5 versijoje konkretus raktas sudaromas iš paskirties schemos ir išanalizuoto hosto vardo. Jame nėra kelio, užklausos ar prievado.
Pridėjus /monthly prie žodyno rakto, taisyklė nebus apribota tuo keliu. Taip pat https://reports.example:8443 nėra prievadui būdingas raktas, kurį atpažintų šis parinkiklis. Hosto vardo taisyklė galioja ir tada, kai paskirties URL naudoja kitą prievadą.
Šioje paieškoje nėra pakaitos simbolių išplėtimo. Taisyklė reports.example neapima subdomeno automatiškai. Kai politikai reikia kelio, prievado arba priesagos atitikimo, naudokite aiškų maršrutizavimo sprendimą už šio paprasto žodyno ribų.
Žinokite, koks atsarginis variantas eina toliau
Įgyvendinimas tikrina raktus šia tvarka: scheme://hostname, scheme, all://hostname, tada all. Todėl visos schemos HTTPS įrašas turi pirmenybę prieš visų schemų hosto vardo įrašą. Kai tai numatyta išimtis, savo dizaine schemai būdingą hosto vardo taisyklę dėkite pirmiausia.
Atsižvelkite ir į tai, kaip jūsų Session sujungia numatytąsias ir iš aplinkos gautas nuostatas. Šių dviejų aiškių įrašų perdavimas su užklausa padaro jų numatytas trasas aiškias, bet neapibrėžia politikos jokiai kitai paskirties schemai.
Peradresavimas gali įvesti kitą hosto vardą, o tarpinio serverio pasirinkimas svarbus ir tai naujai paskirčiai. Skaitykite taisyklę kaip sprendimą dėl kiekvieno prašomo URL, o ne kaip nuolatinę trasą, prikabintą prie pirmo puslapio.