就像标题所说,我的代码基本上是这样做的:
设置代理,测试代理,做一些很酷的东西
但是第一次设置代理后,它会坚持这种方式,永远不会改变。这是失败的代码:
# Pick proxy
r = random.randint(0, len(proxies) - 1)
proxy = proxies[r]
print proxy
# Setup proxy
l_proxy_support = urllib2.ProxyHandler({"http": "http://{0}:{1}".format(*proxy)})
l_opener = urllib2.build_opener(l_proxy_support)
try:
l_req = l_opener.open(
urllib2.Request('http://[MYIPADDRESSHERE]/ip.php', None, agent)
)
print l_req.read()
except urllib2.URLError:
print "Proxy not functioning, aborting..."
# Do cool stuff here, not really relevant
输出最终为:
['X.Y.Z.124', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124
['X2.Y2.Z2.190', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124
['X3.Y3.Z3.41', '666', 'http']
[Skarlet] Your IP address is: X.Y.Z.124
我现在真的很困惑。
感谢您的时间。
PD:从我的家庭IP地址响应的脚本只是一个PHP回显$ _SERVER ['REMOTE_ADDR']。
答案 0 :(得分:1)
这看起来很奇怪。我总是发现httplib2模块是最容易使用的Python HTTP客户端。有一个使用httplib2 with the socks module的例子。
抱歉,我知道这不是您问题的具体答案,但尝试可能是一种解决方法。