Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to control tor, when use tor proxy
    text
    copied!<p>I'm trying to connect to a resource using a tor, changing identity. But after the first connection attempt to change identity causes an error. Code:</p> <pre><code>import urllib2, socks, socket from stem import Signal from stem.control import Controller def newI(): with Controller.from_port(port=9051) as controller: controller.authenticate() controller.signal(Signal.NEWNYM) newI() socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050) socket.socket = socks.socksocket headers = {'User-Agent': 'Mozilla/3.0 (x86 [en] Windows NT 5.1; Sun)'} req = urllib2.Request('https://google.com', None, headers) response = urllib2.urlopen(req) html = response.read() newI() </code></pre> <p>I get error:</p> <pre><code> File "/media/all/Run/e/c.py", line 21, in &lt;module&gt; newI() File "/media/all/Run/e/c.py", line 7, in newI with Controller.from_port(port=9051) as controller: File "/usr/local/lib/python2.7/dist-packages/stem/control.py", line 659, in from_port control_port = stem.socket.ControlPort(address, port) File "/usr/local/lib/python2.7/dist-packages/stem/socket.py", line 314, in __init__ self.connect() File "/usr/local/lib/python2.7/dist-packages/stem/socket.py", line 187, in connect self._socket = self._make_socket() File "/usr/local/lib/python2.7/dist-packages/stem/socket.py", line 340, in _make_socket control_socket.connect((self._control_addr, self._control_port)) File "/usr/lib/python2.7/dist-packages/socks.py", line 369, in connect self.__negotiatesocks5(destpair[0],destpair[1]) File "/usr/lib/python2.7/dist-packages/socks.py", line 236, in __negotiatesocks5 raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])]) TypeError: __init__() takes exactly 2 arguments (3 given) </code></pre> <p>Maybe I need to disable the proxy. Tell me how to do it correctly.</p> <p>UPD:</p> <p>With pycurl it's work:</p> <pre><code>import pycurl import cStringIO from stem import Signal from stem.control import Controller def newI(): with Controller.from_port(port=9051) as controller: controller.authenticate() controller.signal(Signal.NEWNYM) newI() buf = cStringIO.StringIO() c = pycurl.Curl() c.setopt(pycurl.URL, 'http://google.com/') c.setopt(c.WRITEFUNCTION, buf.write) c.setopt(pycurl.PROXY, 'localhost') c.setopt(pycurl.PROXYPORT, 9050) c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5) c.perform() html = buf.getvalue()[7:] buf.close() newI() </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload