Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 50
1

GET запрос через TOR

25.08.2018, 16:26. Просмотров 2841. Ответов 3
Метки нет (Все метки)

у меня есть парсер сайтов работающий через tor
причем работающий вполне исправно

но сегодня я попытался запустить его на RaspberryPi
и получил ошибку

в целом я использую такой код для получения ответа от сервера

Python
1
2
3
4
5
6
7
import requests
 
proxie = {
    'http': 'socks5h://127.0.0.1:9150', 
    'https': 'socks5h://127.0.0.1:9150'
}
ans = requests.get('http://icanhazip.com', proxies = proxie).text
и он работает
но на малинке я получаю вот такую ошибку

Код
Traceback (most recent call last):
  File "get_self_tor_addr.py", line 7, in <module>
    print(requests.get('http://icanhazip.com', proxies = proxie).text)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/sessions.py", line 512, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/sessions.py", line 622, in send
    r = adapter.send(request, **kwargs)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/adapters.py", line 410, in send
    conn = self.get_connection(request.url, proxies)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/adapters.py", line 308, in get_connection
    proxy_manager = self.proxy_manager_for(proxy)
  File "/home/pi/.local/lib/python3.5/site-packages/requests/adapters.py", line 188, in proxy_manager_for
    **proxy_kwargs
  File "/home/pi/.local/lib/python3.5/site-packages/requests/adapters.py", line 45, in SOCKSProxyManager
    raise InvalidSchema("Missing dependencies for SOCKS support.")
requests.exceptions.InvalidSchema: Missing dependencies for SOCKS support.
на одном форуме советовали устанавливать модуль requests
не так
Код
pip3 install requests
а так
Код
pip3 install requests requests[socks]
но это мне не как не помогло

в чем может быть причина и как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2018, 16:26
Ответы с готовыми решениями:

Как подключиться к сети Tor без использования Tor-браузера?
Здравствуйте. Подскажите пожалуйста, как реализовать на Delphi подключение к сети TOR ? Т.е...

Что вы скажете о таких вещах,как Tor? И почему,кстати,гугл находит сайты сети TOR?
Что вы скажете о таких вещах,как Tor? И почему,кстати,гугл находит сайты сети TOR? Я...

TOR подключение через telnet
1. Скачал tor browser. 2. Запустил tor.exe с параметром -f и указал адрес torcc. 3. Содержимое...

RDP (или аналог) через tor
Имеется компьютер с одним монитором, компьютер имеет доступ в интернет, но не имеет внешнего ip...

3
34 / 32 / 19
Регистрация: 22.01.2015
Сообщений: 197
25.08.2018, 17:16 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import requests
import GeoIP
 
proxies = {
    'http': 'socks5://localhost:9050',
    'https': 'socks5://localhost:9050'
}
 
url = 'http://ifconfig.io/ip'
#url = 'http://icanhazip.com/'
out = requests.get(url, proxies=proxies).text
out = (out.replace('\n',''))
targ = (out.encode().decode())
gi = GeoIP.gi = GeoIP.new(GeoIP.GEOIP_STANDARD)
countr = gi.country_code_by_addr(targ)
print (f"{out} {countr}")
gi2 = GeoIP.open("/usr/share/GeoIP/GeoIPCity.dat", GeoIP.GEOIP_STANDARD)
gir = gi2.record_by_name(targ)
print (gir['city'])
Вроде код идентичный вашему.
На стековер решением является это:
I had the same issue with conda and requests 2.11 (I work in a Ubuntu VM behind a corporate proxy).

This issue helped me. I changed my environment variable all_proxy (which was originally set to a SOCK proxy socks://....) to the https version in my .bashrc file :

Bash
1
export all_proxy="https://<proxy>:<port>/"
and now it works.
0
Просто Лис
Эксперт Python
4217 / 2631 / 904
Регистрация: 17.05.2012
Сообщений: 7,878
Записей в блоге: 9
26.08.2018, 16:52 3
Bash
1
pip3 install PySocks
0
393 / 121 / 48
Регистрация: 26.10.2013
Сообщений: 734
31.08.2018, 15:14 4
В TraceBack написано
Python
1
requests.exceptions.InvalidSchema: Missing dependencies for SOCKS support
в документации написано, что поддерживаются только socks5 и http прокси. Ты используешь socks5h прокси. requests не умеет с такими прокси работать)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2018, 15:14

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

Как пустить весь трафик через tor?
Всем Здравия! Пробую различные прокси и vpn для поста в блоге(выбрать лучший надо). В настоящий...

Получить прокси через TOR client (console C#)
Приветствую! Господа, помоги разобраться с вопросом о tor proxy. Нашел на просторах код. Но он не...

Java клиент/сервер через TOR сеть
Доброго времени. Подскажите такую штуку - есть ли библиотеки Java для работы с TOR сетями, в...

Как пустить весь трафик через TOR в Debian-9
Доброго времени суток. Подскажите, как пустить весь трафик через TOR в Debian-9, может есть какой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.