HTTP-запрос Python с токеном - PullRequest
6 голосов
/ 28 июля 2010

как и с помощью какой библиотеки Python можно создать httprequest (https) с пользователем: пароль или токен?

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

спасибо

Ответы [ 4 ]

4 голосов
/ 31 июля 2012

использовать запросы Python: HTTP для людей

import requests

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

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

1 голос
/ 28 июля 2010

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

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 (см. Другие ответы для получения дополнительной информации), поскольку он встроен, а интерфейс намного чище.

0 голосов
/ 28 июля 2010

Проверьте наши urllib2.Примеры внизу, вероятно, будут интересны.

http://docs.python.org/library/urllib2.html

0 голосов
/ 28 июля 2010

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

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

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

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

...