Per impostazione predefinita, urlopen
usa la variabile d'ambiente http_proxy
per determinare quale proxy HTTP da utilizzare:
$ export http_proxy='http://myproxy.example.com:1234'
$ python myscript.py # Using http://myproxy.example.com:1234 as a proxy
Se invece desidera specificare un proxy all'interno della vostra applicazione, si può dare un ar proxies
gument a urlopen
:
proxies = {'http': 'http://myproxy.example.com:1234'}
print "Using HTTP proxy %s" % proxies['http']
urllib.urlopen("http://www.google.com", proxies=proxies)
Edit: Se ho capito bene i vostri commenti, si vuole provare diverse deleghe e stampare ogni proxy come si prova. Che ne dici di questo?
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)
fonte
2010-07-02 18:30:54
urllib2 http://stackoverflow.com/questions/1450132/proxy-with-urllib2 –