Selectorul afișează proxy A, apoi proxy B. Jurnalul cererilor arată însă în continuare proxy A. Nu este nevoie de un serviciu de rețea pentru a explica această contradicție: este posibil ca apelantul să fi aruncat valoarea returnată de selector.

Urmărește valoarea până în apelul care trimite cererea:

endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)

Acest fragment presupune o sesiune Requests existentă și un URL de proxy validat. Pentru cererile publice permise prin intermediari publici, lista de proxy-uri gratuite oferă URL-uri candidate care trec prin aceeași cale de selectare și trimitere. Cuvântul-cheie acceptat este proxies. Un ajutor care afișează o mapare, sau returnează una pe care nimeni nu o atribuie, nu poate înlocui maparea furnizată aici.

Păstrează ruta selectată locală operației. În codul concurent, un câmp partajat current_proxy se poate schimba între înregistrare și trimitere. Atunci selecția altui lucrător poate apărea lângă rezultatul greșit.

Folosește un identificator de încercare pentru a lega selecția, configurația de trimitere și rezultatul. Înregistrează un identificator sigur al punctului final în locul URL-ului complet atunci când conține acreditări.

Dacă acele valori coincid dar IP-ul public observat nu se schimbă, ai ajuns la o altă întrebare: dacă punctele finale selectate oferă ieșiri diferite sau o poartă rotativă păstrează o conexiune. Stabilește mai întâi dacă aplicația a trimis ruta pe care susține că a selectat-o. Altfel, speculațiile din partea furnizorului pot ascunde ore întregi o simplă variabilă învechită.

Articole similare