2012-03-23 5 views
0

작동하지 않습니다urllib2가 프록시 내가 다음 스크립트를 가지고 테스트를 위해, 웹에 액세스 할 토르/프록시 주소를 사용 파이썬 일부 스크립트를 작성하려는 토르

import urllib2 
from BeautifulSoup import BeautifulSoup 

protocol = 'socks4' 
ip = '127.0.0.1:9050' 

proxy = urllib2.ProxyHandler({protocol:ip}) 
opener = urllib2.build_opener(proxy) 
urllib2.install_opener(opener) 

page = urllib2.urlopen("http://www.ifconfig.me/ip").read() 

print(page) 

이 문제는이 보여줍니다 내 자신의 IP 주소, 터미널에서 직접 실행하는 경우 :

proxychains curl ifconfig.me/ip 

은 다른 IP를 보여줍니다. 어떻게 해결할 수 있습니까? HTTP 양말 4 대신 사용하는 경우

는 다음과 같은 오류 제공 :

Traceback (most recent call last): 
    File "proxy_test.py", line 11, in <module> 
    page = urllib2.urlopen("http://www.ifconfig.me/ip").read() 
    File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen 
    return _opener.open(url, data, timeout) 
    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 
+0

HTTP 프록시를 작동 polipo'. 설치 했습니까? 또한 HTTP 프록시를 사용하려면 다른 포트 (시스템의 8118)로 변경해야합니다. – Dikei

+0

polipo가 설치되었습니다. – user873286

답변

1

내가 사용하는 HTTP를 (양말되지 않음)는 토르 '와 같은 프록시 서버를 필요에 대한

import urllib2 
from BeautifulSoup import BeautifulSoup 

protocol = 'http' 
ip = '127.0.0.1:8118' 

proxy = urllib2.ProxyHandler({protocol:ip}) 
opener = urllib2.build_opener(proxy) 
urllib2.install_opener(opener) 

page = urllib2.urlopen("http://www.ifconfig.me/ip").read() 

print(page) 
관련 문제