Theo mặc định, urlopen
sử dụng biến môi trường http_proxy
để xác định HTTP proxy để sử dụng:
$ export http_proxy='http://myproxy.example.com:1234'
$ python myscript.py # Using http://myproxy.example.com:1234 as a proxy
Nếu bạn thay vì muốn chỉ định một proxy bên trong ứng dụng của bạn, bạn có thể cho một ar proxies
gument để urlopen
:
proxies = {'http': 'http://myproxy.example.com:1234'}
print "Using HTTP proxy %s" % proxies['http']
urllib.urlopen("http://www.google.com", proxies=proxies)
Edit: Nếu tôi hiểu ý kiến của bạn một cách chính xác, bạn muốn thử một vài proxy và in mỗi proxy khi bạn thử nó. Còn những thứ như thế này thì sao?
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)
Nguồn
2010-07-02 18:30:54
urllib2 http://stackoverflow.com/questions/1450132/proxy-with-urllib2 –