Pregunta
Así que estoy tratando de descargar un archivo de un sitio llamado 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]
Mi error es ValueError: AbstractDigestAuthHandler no sabe acerca de lo básico
He intentado usar controladores básicos de autorización HTML e incluso controladores HTTPS. Nada me da acceso. Sin embargo, este error es diferente de todos los demás errores. Los otros errores son simplemente 401 errores de HTML
¿Alguna sugerencia sobre cómo hacer esto?
No hay solución correcta
Otros consejos
A " administrador de contraseñas " podría ayudar:
mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
mgr.add_password(None, url, user, password)
urllib2.build_opener(urllib2.HTTPBasicAuthHandler(mgr),
urllib2.HTTPDigestAuthHandler(mgr))
En cuanto a lo que probé en mis pruebas ( http://devel.almad.net/trac/django-http-digest/browser/djangohttpdigest/tests/test_simple_digest.py ), el error es razonable en su url. Para que funcione, he http: // parte incluida, no solo host.