Модуль 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"]