Preusmeritve v Python Requests: None proti praznim vrednostim proxy
Ohranite namero neposrednega usmerjanja izrecno skozi preusmeritve, namesto da se zanašate na vrednost None, ki odstrani vnos preslikave.
Če neposredna zahteva doseže preusmeritev in naslednja izmenjava spodleti na proxy, preglejte prehod. Requests znova zgradi nastavitve, povezane s proxy, za preusmeritve in lahko znova vpraša okolje, ko mu Session zaupa.
| Vrednost preslikave | Kaj se zgodi med združevanjem |
|---|---|
None | Ključ se odstrani in ostane manjkajoč vnos, ki ga lahko poznejši prehod zapolni iz okolja. |
| Prazen niz | Izrecna vrednost ostane; lahko ohrani namero neposrednega usmerjanja za to shemo. |
Za obstoječi Session navedite ciljne sheme, vključene v neposredno operacijo:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Preverite dodatne preslikave, specifične za gostitelja, in prilagojene adapterje, če jih aplikacija ponuja. Ta vhod usmerjanja ne preglasi vseh možnih pravil, ki jih izvajajo te komponente.
Ohranite vsak URL v diagnostiki
Zabeležite izvirni URL, vsako lokacijo preusmeritve, stanje odgovora in stopnjo, ki spodleti. Prehod s HTTP na HTTPS spremeni ustrezni ključ sheme; novo gostiteljsko ime lahko pade izven pravila zaobličenja prvega gostitelja. Poročilo, ki vsebuje samo začetni URL, skrije oba prehoda.
Opazovanje enega odgovora z izklopljenim sledenjem preusmeritvam lahko razkrije mejo. Preden se odločite, da ga boste zahtevali, preglejte njegovo lokacijo kot podatek; izvirnih poverilnic ne pošiljajte brez razlikovanja na nov cilj.
Namenski Session z izklopljenim odkrivanjem okolja je druga možnost, ko aplikacija namerno poseduje vse vhode usmerjanja in zaupanja. To vpliva tudi na samodejno odkrivanje poverilnic in CA, zato ga izberite kot politiko aplikacije in ne kot rutinsko popravilo preusmeritve.