Din log roterer proxyer. Din anmodning bruger stadig den gamle.
Følg det valgte endepunkt ind i det faktiske HTTP-kald, i stedet for at antage at udskrivning af en ny værdi ændrer anmodningens konfiguration.
Vælgeren udskriver proxy A, derefter proxy B. Anmodningsloggen viser stadig proxy A. Der kræves ingen netværkstjeneste for at forklare denne modsigelse: kalderen har muligvis kasseret vælgerens returværdi.
Følg værdien ind i det kald, der sender anmodningen:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Dette uddrag forudsætter en eksisterende Requests-session og en valideret proxy-URL. For offentlige anmodninger, der er tilladt gennem offentlige mellemled, giver den gratis proxy-liste kandidat-URL'er, der går gennem samme vælg-og-send-vej. Det understøttede nøgleord er proxies. En hjælpefunktion, der udskriver en mapping, eller returnerer en som ingen tildeler, kan ikke erstatte den mapping, der leveres her.
Hold den valgte rute lokal for operationen. I samtidig kode kan et delt current_proxy-felt ændre sig mellem logning og afsendelse. En anden arbejders valg kan så optræde ved siden af det forkerte resultat.
Brug en forsøgsidentifikator til at forbinde valget, sendekonfigurationen og resultatet. Log en sikker endepunktsidentifikator i stedet for den fulde URL, når den indeholder legitimationsoplysninger.
Hvis disse værdier stemmer, men den observerede offentlige IP ikke ændrer sig, er du nået til et andet spørgsmål: om de valgte endepunkter giver forskellige udgange, eller en roterende gateway holder en forbindelse. Afklar først, om applikationen sendte den rute, den hævdede at vælge. Ellers kan gætterier fra udbyderens side skjule en simpel forældet variabel i timer.