Loggen din roterer proxyer. Forespørselen din bruker fortsatt den gamle.
Følg det valgte endepunktet inn i selve HTTP-sendekallet i stedet for å anta at utskrift av en ny verdi endrer forespørselens konfigurasjon.
Velgeren skriver ut proxy A, deretter proxy B. Forespørselsloggen viser fortsatt proxy A. Det trengs ingen nettverkstjeneste for å forklare denne motsetningen: den som kaller, kan ha forkastet returverdien fra velgeren.
Følg verdien inn i kallet som sender forespørselen:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Dette utdraget forutsetter en eksisterende Requests-økt og en validert proxy-URL. For offentlige forespørsler som er tillatt gjennom offentlige mellomledd, tilbyr den gratis proxylisten kandidat-URL-er som går gjennom samme velg-og-send-løype. Det støttede nøkkelordet er proxies. En hjelpefunksjon som skriver ut en mapping, eller returnerer en som ingen tildeler, kan ikke erstatte mappingen som leveres her.
Hold den valgte ruten lokal for operasjonen. I samtidig kode kan et delt current_proxy-felt endre seg mellom logging og sending. Da kan en annen arbeiders valg dukke opp ved siden av feil resultat.
Bruk en forsøksidentifikator for å knytte valget, sendekonfigurasjonen og resultatet sammen. Logg en trygg endepunktidentifikator i stedet for hele URL-en når den inneholder påloggingsinformasjon.
Hvis disse verdiene stemmer, men den observerte offentlige IP-en ikke endres, har du kommet til et annet spørsmål: om de valgte endepunktene gir ulike utganger, eller om en roterende gateway holder en tilkobling. Avgjør først om applikasjonen sendte ruten den hevdet å ha valgt. Ellers kan gjetting fra leverandørens side skjule en enkel utdatert variabel i timer.