0
就像標題所說,我的代碼基本上做到這一點:我設置的urllib2代理服務器,然後我不能改變它
集代理,測試代理,做一些很酷的東西
但經過該代理是第一次設置,它堅持這種方式,永遠不會改變。這是失敗的代碼:
# 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']。
你是對的,它不是特定的,但非常有幫助。 我已經用httplib2代替了所有的urllib2代碼(它不是那麼多的代碼來改變),並且我已經減少了HTTP處理代碼的數量,更不用說httplib2更好用了。 謝謝。 – user168833 2009-11-15 00:20:19
只是爲了同情 - urllib和urllib2把我拉上了牆。 – 2009-11-15 00:41:43