authinfo.add_password('My page', 'localhost', 'user1', 'secret') 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

authinfo.add_password('My page', 'localhost', 'user1', 'secret')

Поиск

import urllib2

 

# Подготовка идентификационных данных authinfo = urllib2.HTTPBasicAuthHandler()

authinfo.add_password('My page', 'localhost', 'user1', 'secret')

# Доступ через прокси

 

proxy_support = urllib2.ProxyHandler({'http' : 'http://localhost:8080'})

 

# Создание нового открывателя с указанными обработчиками


 


opener = urllib2.build_opener(proxy_support, authinfo, urllib2.CacheFTPHandler)

 

# Установка поля с названием клиента opener.addheaders = [('User-agent', 'Mozilla/5.0')]

# Установка нового открывателя по умолчанию urllib2.install_opener(opener)

# Использование открывателя

 

f = urllib2.urlopen('http://localhost/mywebdir/') print f.read()[:100]

 

В этом примере получен доступ к странице,которую охраняетmod_python (см.предыдущую лекцию).Первый аргумент при вызове метода add_password() задает область действия(realm)идентификационных данных(он задан директивой AuthName "My page" в

 

конфигурацииweb-сервера).Остальные параметры достаточно понятны:имя хоста,на который нужно получить доступ,имя пользователя и его пароль.Разумеется,для корректной работы примера нужно,чтобы на локальномweb-сервере был каталог,требующий авторизации.

 

В данном примере явным образом затронуты всего три обработчика:

 

HTTPBasicAuthHandler,ProxyHandler и CacheFTPHandler.В модуле urllib2 их более

 

десятка,назначение каждого можно узнать из документации к используемой версииPython. Есть и специальный класс для управления открывателями: OpenerDirector. Именно

 

его экземпляр создала функция urllib2.build_opener().

 

Модуль urllib2 имеет и специальный класс для воплощения запроса на открытиеURL.Называется этот класс urllib2.Request.Его экземпляр содержит состояние запроса.Следующий пример показывает,как получить доступ к каталогу с авторизацией,используя добавление заголовка вHTTP-запрос:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.176 (0.007 с.)