Domanda
Quindi sto provando a scaricare un file da un sito chiamato vsearch.cisco.com con Python
[python]
#Connects to the Cisco Server and Downloads files at the URL specified
import urllib2
#Define Useful Variables
url = 'http://vsearch.cisco.com'
username = 'xxxxxxxx'
password = 'xxxxxxxx'
realm = 'CEC'
# Begin Making connection
# Create a Handler -- Also could be where the error lies
handler = urllib2.HTTPDigestAuthHandler()
handler.add_password(realm,url,username,password)
# Create an Opener
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
try:
urllib2.urlopen(url)
print f.read()
except urllib2.HTTPError, e:
print e.code
print e.header
[/ python]
Il mio errore è ValueError: AbstractDigestAuthHandler non sa di base
Ho provato a utilizzare i gestori di autorizzazione HTML di base e persino i gestori HTTPS. Niente mi dà accesso. Questo errore è diverso da tutti gli altri errori tuttavia. Gli altri errori sono semplicemente 401 errori HTML
Qualche suggerimento su come farlo?
Nessuna soluzione corretta
Altri suggerimenti
Un gestore di password " potrebbe aiutare:
mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
mgr.add_password(None, url, user, password)
urllib2.build_opener(urllib2.HTTPBasicAuthHandler(mgr),
urllib2.HTTPDigestAuthHandler(mgr))
Per quanto riguarda ciò che ho provato nei miei test ( http://devel.almad.net/trac/django-http-digest/browser/djangohttpdigest/tests/test_simple_digest.py ), l'errore è probabilmente nel tuo url - Per farlo funzionare, ho incluso http: // part, non solo host.