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 šeme. 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 šeme 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 džokerima. Pravilo za reports.example ne pokriva poddomenu automatski. Koristite eksplicitnu odluku o rutiranju 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 šeme ima prednost pred zapisom hostnamea za sve šeme. Stavite pravilo hostnamea specifično za šemu prvo u svoj dizajn kada je to namjeravani izuzetak.

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 jasnim, ali ne definira politiku za svaku drugu šemu odredišta.

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

Povezani članci