Задать вопрос
kitscribe
@kitscribe
Хаброжитель

Как правильно использовать socks proxy в python requests?

Код
def parse_proxy(fileObj):
    with open(fileObj) as f:
        for line in f.readlines():
            line = line.strip()
            host, port = line.split(":")
            print(f"Proxy data - {host}:{port}")
            check_proxy(host, port)


def check_proxy(host, port, socks_type=4):
    proxies = {
        "http://": f'socks{socks_type}h://{host}:{port}',
        "https://": f'socks{socks_type}h://{host}:{port}'
    }

    try:
        print("Proxy start")
        resp = requests.get("http://ifconfig.me/ip", proxies=proxies)
        print("IP is {}".format(resp.text.strip()))
    except Exception as e:
        print(e)


Я читаю прокси в формате host:port типа socks4
Прокси

110.235.245.9:10801
164.163.250.164:4145
216.198.188.26:61002
187.243.253.182:43015
202.62.39.232:4153
91.207.202.137:4145
182.253.141.81:4145
185.204.59.8:4145
190.144.224.182:44550
36.72.99.9:4145


И обращаюсь к ifconfig.me/ip чтобы узнать, был ли изменён ip, но судя по ответу ip не меняется. Никаких ошибок не выскакивает, соедининие успешно проходит, но proxy будто бы не работает

Гугл не особо помогает, установку pip3 install -U requests[socks] проводил

Что я делаю не так? Спасибо
  • Вопрос задан
  • 5058 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@RivalCode
Неправильно указан словарь с прокси: "://" в схеме не нужны, h после {socks_type} тоже
proxies = {
        "http": f'socks{socks_type}://{host}:{port}',
        "https": f'socks{socks_type}://{host}:{port}'
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 00:55
2500 руб./за проект
02 февр. 2025, в 00:25
5000 руб./за проект
02 февр. 2025, в 00:18
1000 руб./за проект