Vaš dnevnik vrti proxyje. Vaša zahteva še vedno uporablja starega.
Sledite izbrani končni točki vse do dejanskega klica HTTP za pošiljanje, namesto da bi domnevali, da tiskanje nove vrednosti spremeni konfiguracijo zahteve.
Izbirnik izpiše proxy A, nato proxy B. Dnevnik zahtev pa še vedno prikazuje proxy A. Za razlago tega protislovja ni potrebna omrežna storitev: klicatelj je morda zavrgel vrnjeno vrednost izbirnika.
Sledite vrednosti v klic, ki pošlje zahtevo:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Ta odlomek predpostavlja obstoječo sejo Requests in preverjen URL proxyja. Za javne zahteve, dovoljene prek javnih posrednikov, brezplačni seznam proxyjev ponuja kandidatne URL-je, ki gredo po isti poti izbire in pošiljanja. Podprta ključna beseda je proxies. Pomožna funkcija, ki izpiše preslikavo ali vrne preslikavo, ki je nihče ne dodeli, ne more nadomestiti tukaj podane preslikave.
Izbrano pot ohranite lokalno za operacijo. V sočasni kodi se deljeno polje current_proxy lahko spremeni med beleženjem in pošiljanjem. Takrat se lahko izbira drugega delavca pojavi ob napačnem rezultatu.
Uporabite identifikator poskusa, da povežete izbiro, konfiguracijo pošiljanja in rezultat. Ko celoten URL vsebuje poverilnice, zabeležite varen identifikator končne točke namesto njega.
Če se te vrednosti ujemajo, a opaženi javni IP se ne spremeni, ste prišli do drugega vprašanja: ali izbrane končne točke ponujajo različne izhode ali vrtljivi prehod zadrži povezavo. Najprej ugotovite, ali je aplikacija poslala pot, za katero trdi, da jo je izbrala. Sicer lahko ugibanja pri ponudniku ure in ure skrijejo preprosto zastarelo spremenljivko.