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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top