2010-07-28 2 views
5

Как и с какой библиотекой python можно создать httprquest (https) с пользователем: пароль или токен?python http-запрос с токеном

в основном эквивалентна curl -u user:pwd https://www.mysite.com/

спасибо

ответ

0

класс urllib2.HTTPSHandler класс для обрабатывать открытие HTTPS URL-адреса.

21.6.7. Объекты HTTPPasswordMgr Эти методы доступны в объектах HTTPPasswordMgr и HTTPPasswordMgrWithDefaultRealm.

HTTPPasswordMgr.add_password (realm, uri, user, passwd) Ури может быть либо одним URI, либо последовательностью URI. realm, user и passwd должны быть строками. Это приводит к использованию (user, passwd) в качестве токенов аутентификации при аутентификации для области и супер-URI любого из заданных URI. HTTPPasswordMgr.find_user_password (realm, authuri) Получите пользователя/пароль для данного домена и URI, если таковые имеются. Этот метод вернет (None, None), если нет соответствующего пользователя/пароля.

Для объектов HTTPPasswordMgrWithDefaultRealm область поиска не будет выполняться, если заданная область не имеет соответствующего пользователя/пароля.

+0

спасибо ... вот это – aschmid00

1

Если вам нужно сделать поточно-запросы, использовать pycurl (интерфейс питон свернуться):

import pycurl 
from StringIO import StringIO 

response_buffer = StringIO() 
curl = pycurl.Curl() 

curl.setopt(curl.URL, "https://www.yoursite.com/") 

# Setup the base HTTP Authentication. 
curl.setopt(curl.USERPWD, '%s:%s' % ('youruser', 'yourpassword')) 

curl.setopt(curl.WRITEFUNCTION, response_buffer.write) 

curl.perform() 
curl.close() 

response_value = response_buffer.getvalue() 

В противном случае, используйте urllib2 (см другие ответы для получения дополнительной информации), как это встроенный интерфейс и интерфейс намного чище.

4

использовать питон запросы: Http для человека

import requests 

requests.get("https://www.mysite.com/", auth=('username','pwd')) 

вы также можете использовать дайджест аутентификации ...

+0

да, то, как это должно быть всегда! удивительная библиотека! – Rok

+0

Надежные запросы будут добавлены в python std lib в какой-то момент – locojay

Смежные вопросы