Python Requests -uudelleenohjaukset: None vs. tyhjät proxy-arvot
Pidä suoran reitityksen aikomus eksplisiittisenä uudelleenohjausten läpi sen sijaan, että luottaisit None-arvoon, joka poistaa mappausmerkinnän.
Jos suora pyyntö osuu uudelleenohjaukseen ja seuraava vaihto epäonnistuu proxyssa, tutki siirtymää. Requests rakentaa proxyyn liittyvät asetukset uudelleen uudelleenohjauksia varten ja voi tarkistaa ympäristön uudelleen, kun Session luottaa siihen.
| Mappauksen arvo | Mitä yhdistämisen aikana tapahtuu |
|---|---|
None | Avain poistetaan, jolloin jäljelle jää puuttuva merkintä, jonka myöhempi kierros voi täyttää ympäristöstä. |
| Tyhjä merkkijono | Eksplisiittinen arvo säilyy; se voi säilyttää suoran reitityksen aikomuksen kyseiselle skeemalle. |
Anna olemassa olevalle Sessionille suoraan toimintoon liittyvät kohdeskeemat:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Tarkista lisäksi isäntäkohtaiset mappaukset ja mukautetut adapterit, jos sovellus tarjoaa ne. Tämä reitityssyöte ei ohita kaikkia mahdollisia käytäntöjä, joita nämä komponentit toteuttavat.
Säilytä jokainen URL diagnoosissa
Kirjaa alkuperäinen URL, jokainen uudelleenohjauksen sijainti, vastauksen tila ja epäonnistuva vaihe. Siirtymä HTTP:stä HTTPS:ään muuttaa kyseistä skeema-avainta; uusi isäntä voi jäädä ensimmäisen isännän ohitussäännön ulkopuolelle. Raportti, joka sisältää vain alkuperäisen URL:n, kätkee molemmat siirtymät.
Yhden vastauksen tarkkailu uudelleenohjausten seuraaminen poistettuna voi paljastaa rajan. Tutki sen sijaintia datana ennen kuin päätät pyytää sitä; älä lähetä alkuperäisiä tunnistetietoja valikoimatta uuteen kohteeseen.
Erillinen Session, jossa ympäristön tunnistus on poistettu käytöstä, on toinen vaihtoehto, kun sovellus tarkoituksella omistaa kaikki reititys- ja luottamussyötteet. Se vaikuttaa myös automaattiseen tunnistetietojen ja CA:n tunnistukseen, joten valitse se sovelluskäytännöksi eikä rutiininomaiseksi uudelleenohjauksen korjaukseksi.