2012-03-26 9 views
2

Hallo Jungs! Zuerst möchte ich versichern, dass es ähnliche Themen gibt, aber es gibt keine akzeptierte Antwort oder klare Antwort. Also möchte ich sie kombinieren und nochmal fragen. Ich habe folgendes Skript:Running Python-Skript mit TOR

import urllib2 

proxy = urllib2.ProxyHandler({"http":"127.0.0.1:9050"}) 
opener = urllib2.build_opener(proxy) 
print(opener.open("http://www.ifconfig.me/ip").read()) 

Ich möchte es anonym laufen, mit zum Beispiel mit tor. Aber es gibt diesen Fehler:

Traceback (most recent call last): 
    File "python_tor.py", line 5, in <module> 
    print(opener.open("http://www.ifconfig.me/ip").read()) 
    File "/usr/lib/python2.7/urllib2.py", line 400, in open 
    response = meth(req, response) 
    File "/usr/lib/python2.7/urllib2.py", line 513, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python2.7/urllib2.py", line 438, in error 
    return self._call_chain(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 521, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 501: Tor is not an HTTP Proxy 

Ich habe folgende Antworten in Stackoverflow gefunden:

proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"}) 
    opener = urllib2.build_opener(proxy_support) 
    opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
    print opener.open('http://www.google.com').read() 

Und auch dieses Kommentar zu diesem Thema:

It may be worthwhile for people reading this thread to know that port 8118 is actually Privoxy's port, not Tor. Tor is a strictly SOCKS-only proxy (port 9050) so it rejects all non-SOCKS traffic (e.g. HTTP). To handle non-SOCKS traffic, you would need to use Privoxy (port 8118) or Polipo (port 8123) to translate the traffic into SOCKS so Tor would accept. 

Privoxy is better for privacy and Polipo is better for performance because it does caching. 

Kann mir jemand erklären, wie mein auszuführen anonym schreiben?

+0

mögliche Duplikate von [Tor mit Python?] (Http://stackoverflow.com/questions/1096379/tor-with-python) – Thilo

Antwort