Не получается взять новый ip адрес используя privoxy и stem, python


#1

Я узнать свой ip используя Tor, Privoxy и Stem, но результат постоянно один и тот же, хотя должен быть другим... Пробовал сделать это многими способами (менял прокси через сессии запросов и тд), но всё равно ничего не выходит.

Вот мой код:

import requests
from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
controller.authenticate('mykey')
controller.signal(Signal.NEWNYM)

#proxies = {

"http": "http://127.0.0.1:8118"

#}

proxies = {
'http': 'socks5h://127.0.0.1:9050',
'https': 'socks5h://127.0.0.1:9050'
}

headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11'
}
r = requests.get("http://icanhazip.com", proxies=proxies, headers=headers, stream=False)
print (r.text)

Файл .torc имеет следующие настройки:

ExitNodes {us}
StrictNodes 1

ControlPort 9051
HashedControlPassword 16:BA2B8B2EAC4B391060A6FAA27FA922706F08D0BA0115D79840265D9DC3

privoxy config файл:

forward-socks5   /               127.0.0.1:9050 .

#2

Я нашёл следующий вариант кк можно решить эту проблему, как по мне, много лучше чем предложенный вами. Для начала убедитесь в том что локация вашего файла Тора написана так "tor.exe", а не так "torexe".

Доказательство как подтверждение:

import requests
import os

torexe = os.popen(r"C:\Users\WCS\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe")

with requests.Session() as s:
s.proxies['http'] = 'socks5h://localhost:9050'
res = s.get("http://icanhazip.com")
print(res.text)

torexe.close()