我使用SocksiPy模块通过SOCKS代理代理我的urllib2请求:
import socks
# Set the proxy information
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, 'x.x.x.x', 9050)
# Route an HTTP request through the SOCKS proxy
socks.wrapmodule(urllib2)
print urllib2.urlopen('http://www.google.com').read()
# other urllib2 requests to follow here..
也许我的问题很简单:如何从socks
中解包 urllib2模块,
以便从localhost发出以下urllib2请求(没有代理支持)
也许没有设置调用setdefaultproxy
没有参数?
我试图再次导入urllib2 lib但没有发生任何事情..
我认为在我打电话之后它工作正常:
setdefaultproxy()
但这是正确的方法吗?
答案 0 :(得分:3)
在此处使用我的Socksipy分支和urllib2帮助程序库:https://github.com/Anorov/PySocks
示例代码,适合您的情况:
import socks, urllib2
from sockshandler import SocksiPyHandler
proxy_opener = urllib2.build_opener(SocksiPyHandler(socks.PROXY_TYPE_SOCKS5, "IP", 9050))
print proxy_opener.open("http://whatismyip.org/").read()
您可以设置不同的开启者以使用不同的代理,或者在您的情况下,您可以简单地使用默认的urllib2处理程序或urllib2.urlopen,它不会通过代理连接。