Váš log rotuje proxy. Vaša požiadavka stále používa ten starý.
Sledujte vybraný koncový bod až do skutočného HTTP volania na odoslanie, namiesto toho, aby ste predpokladali, že vypísanie novej hodnoty zmení konfiguráciu požiadavky.
Selektor vypíše proxy A, potom proxy B. Log požiadaviek však stále zobrazuje proxy A. Na vysvetlenie tohto rozporu nie je potrebná sieťová služba: volajúci mohol zahodiť návratovú hodnotu selektora.
Sledujte hodnotu až do volania, ktoré požiadavku odosiela:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Tento fragment predpokladá existujúcu reláciu Requests a overenú URL proxy. Pre verejné požiadavky povolené cez verejných sprostredkovateľov poskytuje zoznam bezplatných proxy kandidátske URL, ktoré prechádzajú tou istou cestou výberu a odoslania. Podporované kľúčové slovo je proxies. Pomocná funkcia, ktorá vypíše mapovanie alebo vráti mapovanie, ktoré nikto nepriradí, nemôže nahradiť mapovanie uvedené tu.
Udržujte vybranú trasu lokálnu pre operáciu. V súbežnom kóde sa zdieľané pole current_proxy môže zmeniť medzi zaznamenaním a odoslaním. Výber iného pracovníka sa potom môže objaviť vedľa nesprávneho výsledku.
Použite identifikátor pokusu na prepojenie výberu, konfigurácie odoslania a výsledku. Ak úplná URL obsahuje prihlasovacie údaje, zaznamenajte bezpečný identifikátor koncového bodu namiesto nej.
Ak sa tieto hodnoty zhodujú, ale pozorovaná verejná IP sa nemení, dostali ste sa k inej otázke: či vybrané koncové body poskytujú odlišné výstupy, alebo či rotačná brána udržiava spojenie. Najprv zistite, či aplikácia odoslala trasu, ktorú tvrdí, že vybrala. Inak môžu špekulácie na strane poskytovateľa hodiny skrývať jednoduchú zastaranú premennú.