Izbira proxyja Requests za eno spletno mesto
Dodelite enemu ciljnemu imenu gostitelja drug proxy v Requests in razumejte meje ujemanja ter vrstni red rezervnih možnosti.
Eno spletno mesto potrebuje drugačen proxy od preostalih vaših zahtev HTTPS. Requests lahko to izbiro izrazi kar v slovarju proxyjev:
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()
Za ta cilj zmaga ključ, specifičen za ime gostitelja. Drugo ime gostitelja HTTPS uporabi vnos za celotno shemo. Vrednosti opisujejo povezavo s proxyjem, zato je mogoče cilj HTTPS pravilno preslikati v URL proxyja HTTP. Ko so to dovoljene poti javnih spletnih mest brez računov proxy, lahko seznam proxyjev HTTP ponudi kandidate za te vrednosti; vsako pravilo cilja naj bo izrecno.
Ujemajte ime gostitelja, ne URL vira
V Requests 2.32.5 je poseben ključ zgrajen iz sheme cilja in razčlenjenega imena gostitelja. Ne vsebuje poti, poizvedbe ali vrat.
Dodajanje /monthly v ključ slovarja pravila ne bo omejilo na to pot. Prav tako https://reports.example:8443 ni ključ, specifičen za vrata, ki bi ga ta izbirnik prepoznal. Pravilo imena gostitelja velja tudi, ko URL cilja uporablja druga vrata.
V tem iskanju ni razširjanja z nadomestnimi znaki. Pravilo za reports.example ne pokrije poddomene samodejno. Ko pravilnik zahteva ujemanje poti, vrat ali pripone, uporabite izrecno odločitev o usmerjanju zunaj tega preprostega slovarja.
Vedite, katera rezervna možnost sledi
Izvedba preveri ključe v tem vrstnem redu: scheme://hostname, scheme, all://hostname in nato all. Zato ima vnos HTTPS za celotno shemo prednost pred vnosom imena gostitelja za vse sheme. Če je to predvidena izjema, v svoji zasnovi postavite pravilo imena gostitelja, specifično za shemo, na prvo mesto.
Upoštevajte tudi, kako vaš Session združuje privzete in iz okolja izpeljane nastavitve. Posredovanje teh dveh izrecnih vnosov z zahtevo naredi njune predvidene poti jasne, vendar ne določa pravilnika za katero koli drugo shemo cilja.
Preusmeritev lahko vnese drugo ime gostitelja, izbira proxyja pa je pomembna tudi za ta novi cilj. Pravilo berite kot odločitev o vsakem zahtevanem URL-ju, ne kot trajno pot, pripeto na prvo stran.