0

urllib2 と polipo で Tor を使用しようとしています。私が必要としているのは、プログラムの実行中に特定の出口ノードに切り替える方法です。/etc/tor/torrc に「AllowDotExit 1」を設定し、次のアプローチを試みていました。

import urllib2

proxy = '127.0.0.1'
port = '8118'

url='http://ifconfig.me.651d7ace80e0b53e6c05eb4db2491264f049df66.exit'

proxyurl = '%s:%s' % (proxy, port)
proxyhandler = urllib2.ProxyHandler({'http': proxyurl})
opener = urllib2.build_opener(proxyhandler)

page = opener.open(url)
print 'Page opened.'
print page.read()

しかし、私が得ているのは次のとおりです。

    :!/usr/bin/env python tortest.py
Traceback (most recent call last):
  File "tortest.py", line 18, in <module>
    page = opener.open(url, timeout=20)
  File "/usr/lib/python2.7/urllib2.py", line 406, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 504: Connect to ifconfig.me.651d7ace80e0b53e6c05eb4db2491264f049df66.exit:80 failed: General SOCKS server failure 

誰でもそれを手伝ってもらえますか?

4

1 に答える 1

0

General SOCKS server failure何でもかまいません。たとえば、TOR ノードは、指定された出口ノードに到達する方法を認識していない可能性があります。これはよく起こります。出口はステータス ページの 1 つにリストされている可能性がありますが、それでも tor ノードからは到達できません。別の出口を試すか、後で再試行してください。多くの場合、特定の出口ノードを要求すると、ネットワークを介してリンクを確立するのに数分かかります。

于 2012-08-27T09:28:28.183 に答える