Ваш журнал круціць проксі. Ваш запыт далей выкарыстоўвае стары.
Прасочвайце абраны канчатковы пункт да фактычнага HTTP-выкліку адпраўкі, замест таго каб меркаваць, што вывад новага значэння змяняе канфігурацыю запыту.
Селектар выводзіць проксі A, потым проксі B. Журнал запытаў працягвае паказваць проксі A. Патрэбы ў сеткавым сэрвісе, каб растлумачыць гэтую супярэчнасць, няма: выклікальнік мог адкінуць вернутае значэнне селектара.
Прасочыце значэнне да выкліку, які адпраўляе запыт:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Гэты фрагмент мяркуе наяўнасць існуючай сесіі Requests і праверанага URL проксі. Для публічных запытаў, дазволеных праз публічныя пасярэднікі, бясплатны спіс проксі дае URL-кандыдаты, якія праходзяць той жа шлях выбару і адпраўкі. Падтрымліваецца ключавое слова proxies. Хелпер, які выводзіць мапінг або вяртае мапінг, які ніхто не прысвойвае, не можа замяніць мапінг, пададзены тут.
Трымайце абраны маршрут лакальным для аперацыі. У паралельным кодзе агульнае поле current_proxy можа змяніцца паміж запісам у журнал і адпраўкай. Тады выбар іншага працоўнага можа апынуцца побач з няправільным вынікам.
Выкарыстоўвайце ідэнтыфікатар спробы, каб звязаць выбар, канфігурацыю адпраўкі і вынік. Запісвайце бяспечны ідэнтыфікатар канчатковага пункта, а не поўны URL, калі ён змяшчае ўліковыя даныя.
Калі гэтыя значэнні супадаюць, але назіраны публічны IP не змяняецца, вы дасягнулі іншага пытання: ці абраныя канчатковыя пункты даюць розныя выхады, ці круцельны шлюз утрымлівае злучэнне. Спачатку вызначыце, ці дадатак адправіў маршрут, які нібыта выбраў. Інакш здагадкі на баку правайдэра могуць хаваць простую састарэлую зменную гадзінамі.