Модуль requests не использует proxy

Задача каждый раз с изменённым ip реквестить сайт, но requests в упор не хочет использовать прокси.

def get_ip(i):
   with open("asd.json", "r") as read_file:
       data = json.load(read_file)

   x = data[i]

   return x["ip"] + ":" + x["port"]

x = 1
while 1:
   x = x + 1

   proxies = {
       'http': str(get_ip(x))
   }

   print(proxies)
   session = requests.Session()
   session.proxies.update(proxies)

   session.get("http://irisnet.ru")
   time.sleep(random.randrange(1, 5))

   session.close()
   print("Cycled")

С таким кодом в логах сервера указаны запросы с моего компьютера, а не со стороны прокси.


Ответы (1 шт):

Автор решения: Jack_oS

Хотя в документации и написано, что

proxies = None Dictionary mapping protocol or protocol and host to the URL of the proxy (e.g. {‘http’: ‘foo.bar:3128’, ‘http://host.name’: ‘foo.bar:4012’}) to be used on each Request.

но у меня иначе как

proxy = f'{url}:{port}'  # url без протокола
session.proxies = {
    'http': 'http://' + proxy,
    'https': 'https://' + proxy
}

не работает... Попробуйте так? Или у себя сделайте

return "http://" + x["ip"] + ":" + x["port"]
→ Ссылка