Python Requests peradresavimai: None prieš tuščias proxy reikšmes
Išlaikykite tiesioginio maršrutizavimo ketinimą aiškų per peradresavimus, o ne pasikliaukite None reikšme, kuri pašalina susiejimo įrašą.
Jei tiesioginė užklausa pasiekia peradresavimą ir kita mainų sesija nepavyksta proxy, išnagrinėkite perėjimą. Requests iš naujo sukuria su proxy susijusius nustatymus peradresavimams ir gali vėl pasikonsultuoti su aplinka, kai Session ja pasitiki.
| Susiejimo reikšmė | Kas vyksta sujungimo metu |
|---|---|
None | Raktas pašalinamas, lieka trūkstamas įrašas, kurį vėlesnis praėjimas gali užpildyti iš aplinkos. |
| Tuščia eilutė | Aiški reikšmė išlieka; ji gali išsaugoti tiesioginio maršrutizavimo ketinimą tai schemai. |
Esamam Session nurodykite tiesioginėje operacijoje dalyvaujančias paskirties schemas:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Patikrinkite papildomus su konkrečiu hostu susijusius susiejimus ir pasirinktinius adapterius, jei programa juos pateikia. Ši maršrutizavimo įvestis nepanaikina visų galimų politikų, kurias įgyvendina tie komponentai.
Išsaugokite kiekvieną URL diagnostikoje
Užrašykite pradinį URL, kiekvieną peradresavimo vietą, atsakymo būseną ir nepavykusį etapą. Perėjimas iš HTTP į HTTPS pakeičia atitinkamą schemos raktą; naujas hostas gali atsidurti už pirmojo hosto apėjimo taisyklės. Ataskaita, kurioje yra tik pradinis URL, paslepia abu perėjimus.
Vieno atsakymo stebėjimas išjungus peradresavimų sekimą gali atskleisti ribą. Prieš nuspręsdami jos prašyti, išnagrinėkite jos vietą kaip duomenis; nesiųskite pradinių prisijungimo duomenų į naują paskirties vietą be atodairos.
Atskiras Session su išjungtu aplinkos aptikimu yra dar viena galimybė, kai programa sąmoningai valdo visas maršrutizavimo ir pasitikėjimo įvestis. Tai taip pat veikia automatinį prisijungimo duomenų ir CA aptikimą, todėl rinkitės tai kaip programos politiką, o ne kaip įprastą peradresavimo taisymą.