Python Requests preusmjeravanja: None naspram praznih proxy vrijednosti
Držite namjeru direktnog usmjeravanja eksplicitnom kroz preusmjeravanja umjesto oslanjanja na vrijednost None koja uklanja unos mapiranja.
Ako direktan zahtjev dosegne preusmjeravanje, a sljedeća razmjena ne uspije na proxyju, pregledajte prijelaz. Requests ponovno gradi postavke vezane za proxy za preusmjeravanja i može ponovno konsultovati okruženje kada mu Session vjeruje.
| Vrijednost mapiranja | Šta se dešava tokom spajanja |
|---|---|
None | Ključ se uklanja, ostavljajući nedostajući unos koji kasniji prolaz može popuniti iz okruženja. |
| Prazan string | Eksplicitna vrijednost ostaje; može sačuvati namjeru direktnog usmjeravanja za tu shemu. |
Za postojeći Session, navedite odredišne sheme uključene u direktnu operaciju:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Provjerite dodatna mapiranja specifična za host i prilagođene adaptere ako ih aplikacija pruža. Ovaj input za usmjeravanje ne nadjačava svaku moguću politiku koju ti komponenti primjenjuju.
Zadržite svaki URL u dijagnostici
Zabilježite originalni URL, svaku lokaciju preusmjeravanja, status odgovora i fazu neuspjeha. Prijelaz s HTTP na HTTPS mijenja relevantni ključ sheme; novi host može pasti izvan pravila zaobilaženja prvog hosta. Izvještaj koji sadrži samo početni URL skriva oba prijelaza.
Posmatranje jednog odgovora s isključenim praćenjem preusmjeravanja može otkriti granicu. Pregledajte njegovu lokaciju kao podatke prije nego što odlučite da je zatražite; ne šaljite bezrazložno originalne akreditive na novo odredište.
Posvećeni Session s isključenim otkrivanjem okruženja još je jedna opcija kada aplikacija namjerno posjeduje sve inpute usmjeravanja i povjerenja. To takođe utiče na automatsko otkrivanje akreditiva i CA, zato ga odaberite kao politiku aplikacije, a ne kao rutinsku popravku preusmjeravanja.