默認情況下, urlopen
使用環境變量http_proxy
,以確定要使用的HTTP代理服務器:
$ export http_proxy='http://myproxy.example.com:1234'
$ python myscript.py # Using http://myproxy.example.com:1234 as a proxy
如果你不是要指定應用程序中的代理,你可以給一個proxies
AR gument到urlopen
:
proxies = {'http': 'http://myproxy.example.com:1234'}
print "Using HTTP proxy %s" % proxies['http']
urllib.urlopen("http://www.google.com", proxies=proxies)
編輯:如果我正確理解你的意見,你想嘗試幾個代理,並打印每個代理爲你試試吧。這樣的事情呢?
candidate_proxies = ['http://proxy1.example.com:1234',
'http://proxy2.example.com:1234',
'http://proxy3.example.com:1234']
for proxy in candidate_proxies:
print "Trying HTTP proxy %s" % proxy
try:
result = urllib.urlopen("http://www.google.com", proxies={'http': proxy})
print "Got URL using proxy %s" % proxy
break
except:
print "Trying next proxy in 5 seconds"
time.sleep(5)
的urllib2 http://stackoverflow.com/questions/1450132/proxy-with-urllib2 – 2015-12-28 11:16:43