Jednoj web stranici treba drugačiji proxy od ostatka vaših HTTPS zahtjeva. Requests može izraziti taj izbor u samom rječniku proxyja:

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 to odredište pobjeđuje ključ specifičan za hostname. Drugi HTTPS hostname koristi zapis na razini sheme. Vrijednosti opisuju proxy vezu, pa se HTTPS odredište može ispravno preslikati na URL HTTP proxyja. Kada su to dopuštene rute javnih stranica bez proxy računa, lista HTTP proxyja može dati kandidate za te vrijednosti; držite svako pravilo odredišta eksplicitnim.

Podudarajte hostname, a ne URL resursa

U Requests 2.32.5 specifični ključ se gradi od sheme odredišta i parsiranog hostnamea. Ne sadrži putanju, upit ni port.

Dodavanje /monthly u ključ rječnika neće ograničiti pravilo na tu putanju. Isto tako, https://reports.example:8443 nije ključ specifičan za port koji ovaj selektor prepoznaje. Pravilo hostnamea vrijedi i kada URL odredišta koristi drugi port.

U ovom pretraživanju nema proširenja zamjenskim znakovima. Pravilo za reports.example ne pokriva poddomenu automatski. Koristite eksplicitnu odluku o usmjeravanju izvan ovog jednostavnog rječnika kada politika zahtijeva podudaranje putanje, porta ili sufiksa.

Znajte koja rezervna opcija slijedi

Implementacija provjerava ključeve ovim redom: scheme://hostname, scheme, all://hostname, zatim all. Zato zapis HTTPS na razini sheme ima prednost pred zapisom hostnamea za sve sheme. Stavite pravilo hostnamea specifično za shemu prvo u svoj dizajn kada je to namjeravana iznimka.

Uzmite u obzir i kako vaša Session spaja zadane i postavke izvedene iz okruženja. Slanje ovih dvaju eksplicitnih zapisa uz zahtjev čini njihove namjeravane rute jasnima, ali ne definira politiku za svaku drugu shemu odredišta.

Preusmjeravanje može uvesti drugi hostname, a odabir proxyja relevantan je i za to novo odredište. Čitajte pravilo kao odluku o svakom URL-u koji se zahtijeva, a ne kao trajnu rutu vezanu uz prvu stranicu.

Povezani članci