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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top