Din logg roterar proxyservrar. Din begäran använder fortfarande den gamla.
Följ den valda slutpunkten in i det faktiska HTTP-anropet för sändning, i stället för att anta att utskrift av ett nytt värde ändrar begäranens konfiguration.
Väljaren skriver ut proxy A, sedan proxy B. Begärandeloggen visar fortfarande proxy A. Ingen nätverkstjänst behövs för att förklara den motsägelsen: anroparen kan ha kastat väljarens returvärde.
Följ värdet in i anropet som skickar begäran:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Detta utdrag förutsätter en befintlig Requests-session och en validerad proxy-URL. För offentliga begäranden som tillåts via offentliga mellanhänder tillhandahåller den kostnadsfria proxylistan kandidat-URL:er som går genom samma välj-och-skicka-väg. Det stödda nyckelordet är proxies. En hjälpfunktion som skriver ut en mappning, eller returnerar en som ingen tilldelar, kan inte ersätta mappningen som ges här.
Håll den valda rutten lokal för operationen. I samtidig kod kan ett delat current_proxy-fält ändras mellan loggning och sändning. Då kan en annan arbetares val dyka upp bredvid fel resultat.
Använd en försöksidentifierare för att koppla valet, sändningskonfigurationen och resultatet. Logga en säker slutpunktsidentifierare i stället för hela URL:en när den innehåller inloggningsuppgifter.
Om dessa värden stämmer men den observerade offentliga IP-adressen inte ändras, har du nått en annan fråga: om de valda slutpunkterna erbjuder olika utgångar eller om en roterande gateway håller en anslutning. Fastställ först om applikationen skickade den rutt den påstod sig ha valt. Annars kan gissningar från leverantörens sida dölja en enkel inaktuell variabel i timmar.