Не могу получить код .onion сайта с помощью requests
Решил научиться работать с библиотекой requests и столкнулся со следующей проблемой: не могу получить код страницы .onion сайта. Данный код получает код страницы api.myip.com и выводит его в консоль.
У меня вывело {"ip":"66.146.193.33","country":"Unknown","cc":"XX"} (ip состоит в сети tor)
import requests
tor = requests.session()
tor.proxies = {'http': 'socks5://127.0.0.1:9050', 'https': 'socks5://127.0.0.1:9050'} # на порту 9050 запущен tor
html = tor.get('https://api.myip.com/')
print(html.text)
Код работает, но если я попытаюсь заменить api.myip.com на 3g2upl4pq6kufc4m.onion (tor-зеркало DuckDuckGo) - мне выдаёт ошибку:
requests.exceptions.ConnectionError:
SOCKSHTTPSConnectionPool(host='3g2upl4pq6kufc4m.onion', port=443):
Max retries exceeded with url: /
(Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x03441910>:
Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
Подскажите, что я делаю не так и как решить эту проблему?
Ответы (1 шт):
Автор решения: NetUser176
→ Ссылка
Проблема решена! Нужно заменить протокол socks5 на socks5h и всё будет работать.