Аутентификация Python с помощью urllib2
-
06-07-2019 - |
Вопрос
Итак, я пытаюсь загрузить файл с сайта под названием vsearch.cisco.com с помощью 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] [/питон]
Моя ошибка - ValueError:AbstractDigestAuthHandler не знает о basic
Я пробовал использовать базовые обработчики авторизации HTML и даже обработчики HTTPS.Ничто не дает мне доступа.Однако эта ошибка отличается от всех других ошибок.Другие ошибки - это просто ошибки HTML 401
Есть какие-нибудь предложения о том, как это сделать?
Нет правильного решения
Другие советы
Может помочь "менеджер паролей":
mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
mgr.add_password(None, url, user, password)
urllib2.build_opener(urllib2.HTTPBasicAuthHandler(mgr),
urllib2.HTTPDigestAuthHandler(mgr))
Что касается того, что я пробовал в своих тестах (http://devel.almad.net/trac/django-http-digest/browser/djangohttpdigest/tests/test_simple_digest.py), ошибка, вероятно, в вашем URL-адресе - чтобы заставить его работать, я включил http:// part, а не только host.