带令牌的python http请求

时间:2010-07-28 17:51:34

标签: python authentication httprequest token

如何以及使用哪个python库可以使用用户:密码或令牌制作httprequest(https)?

基本上相当于curl -u user:pwd https://www.mysite.com/

谢谢

4 个答案:

答案 0 :(得分:4)

使用python请求:Http for Humans

import requests

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

你也可以使用digest auth ...

答案 1 :(得分:1)

如果您需要发出线程安全请求,请使用pycurl(python接口来卷曲):

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(请参阅其他回复以获取更多信息),因为它内置且界面更清晰。

答案 2 :(得分:0)

class urllib2.HTTPSHandler 用于处理HTTPS URL打开的类。

21.6.7。 HTTPPasswordMgr对象 HTTPPasswordMgr和HTTPPasswordMgrWithDefaultRealm对象提供了这些方法。

HTTPPasswordMgr.add_password(领域,uri,用户,密码) uri可以是单个URI,也可以是URI序列。领域,用户和密码必须是字符串。这会导致(user,passwd)在对域的身份验证和任何给定URI的超级URI进行身份验证时用作身份验证令牌。 HTTPPasswordMgr.find_user_password(领域,authuri) 获取给定领域和URI的用户/密码(如果有)。如果没有匹配的用户/密码,此方法将返回(None,None)。

对于HTTPPasswordMgrWithDefaultRealm对象,如果给定领域没有匹配的用户/密码,则将搜索领域None。

答案 3 :(得分:0)

查看我们的urllib2。底部的例子可能会引起人们的兴趣。

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