Váš log rotuje proxy. Váš požadavek stále používá ten starý.
Sledujte vybraný koncový bod až do skutečného HTTP volání pro odeslání, místo abyste předpokládali, že vypsání nové hodnoty změní konfiguraci požadavku.
Selektor vypíše proxy A, potom proxy B. Log požadavků však stále ukazuje proxy A. K vysvětlení tohoto rozporu není potřeba síťová služba: volající mohl zahodit návratovou hodnotu selektoru.
Sledujte hodnotu až do volání, které požadavek odesílá:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Tento fragment předpokládá existující relaci Requests a ověřenou URL proxy. Pro veřejné požadavky povolené přes veřejné prostředníky poskytuje seznam bezplatných proxy kandidátské URL, které procházejí stejnou cestou výběru a odeslání. Podporované klíčové slovo je proxies. Pomocná funkce, která vypíše mapování nebo vrátí mapování, které nikdo nepřiřadí, nemůže nahradit mapování uvedené zde.
Udržujte vybranou trasu lokální pro operaci. V souběžném kódu se sdílené pole current_proxy může změnit mezi zaznamenáním a odesláním. Výběr jiného pracovníka se pak může objevit vedle nesprávného výsledku.
Pomocí identifikátoru pokusu propojte výběr, konfiguraci odeslání a výsledek. Zaznamenejte bezpečný identifikátor koncového bodu místo úplné URL, pokud obsahuje přihlašovací údaje.
Pokud se tyto hodnoty shodují, ale pozorovaná veřejná IP se nemění, dostali jste se k jiné otázce: zda vybrané koncové body poskytují odlišné výstupy, nebo zda rotační brána udržuje spojení. Nejprve zjistěte, zda aplikace odeslala trasu, kterou tvrdí, že vybrala. Jinak mohou spekulace na straně poskytovatele skrývat jednoduchou zastaralou proměnnou celé hodiny.