Python 我在urllib2上设置了一个代理服务器,然后我就可以';我不能改变它
正如标题所说,我的代码基本上是这样做的: 设置代理,测试代理,做一些很酷的事情 但是,在第一次设置代理之后,它会一直保持不变。这是失败的代码:Python 我在urllib2上设置了一个代理服务器,然后我就可以';我不能改变它,python,proxy,urllib2,Python,Proxy,Urllib2,正如标题所说,我的代码基本上是这样做的: 设置代理,测试代理,做一些很酷的事情 但是,在第一次设置代理之后,它会一直保持不变。这是失败的代码: # Pick proxy r = random.randint(0, len(proxies) - 1) proxy = proxies[r] print proxy # Setup proxy l_proxy_support = urllib2.ProxyHandler({"http": "http:/
# 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回显$_服务器['REMOTE\u ADDR']。这看起来很奇怪。我总是发现该模块是最容易使用的Python HTTP客户端。有一个使用的例子
对不起,我知道这不是你问题的具体答案,但这可能是一个可以尝试的解决办法。你说得对,这不具体,但非常有用。我已经用httplib2替换了所有的urllib2代码(无论如何,要修改的代码并不多),并且我已经减少了相当多的HTTP处理代码,更不用说httplib2更美观了。谢谢。只是为了表示同情——urllib和urllib2让我发疯。