【发布时间】:2011-03-22 07:31:40
【问题描述】:
如何以及使用哪个 python 库可以使用用户:密码或令牌进行 httprequest (https)?
基本上相当于curl -u user:pwd https://www.mysite.com/
谢谢
【问题讨论】:
标签: python authentication httprequest token
如何以及使用哪个 python 库可以使用用户:密码或令牌进行 httprequest (https)?
基本上相当于curl -u user:pwd https://www.mysite.com/
谢谢
【问题讨论】:
标签: python authentication httprequest token
类 urllib2.HTTPSHandler 处理打开 HTTPS URL 的类。
21.6.7。 HTTPPasswordMgr 对象 这些方法可用于 HTTPPasswordMgr 和 HTTPPasswordMgrWithDefaultRealm 对象。
HTTPPasswordMgr.add_password(realm, uri, user, passwd) uri 可以是单个 URI,也可以是 URI 序列。 realm、user 和 passwd 必须是字符串。这会导致 (user, passwd) 在为领域和任何给定 URI 的超级 URI 提供身份验证时用作身份验证令牌。 HTTPPasswordMgr.find_user_password(领域,authuri) 获取给定领域和 URI 的用户/密码(如果有)。如果没有匹配的用户/密码,此方法将返回 (None, None)。
对于 HTTPPasswordMgrWithDefaultRealm 对象,如果给定领域没有匹配的用户/密码,则将搜索领域 None。
【讨论】:
查看我们的urllib2。底部的示例可能会很有趣。
【讨论】:
如果您需要发出线程安全的请求,请使用pycurl(curl 的 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(有关更多信息,请参阅其他回复),因为它是内置的,并且界面更简洁。
【讨论】:
使用 python 请求:用于人类的 Http
import requests
requests.get("https://www.mysite.com/", auth=('username','pwd'))
你也可以使用摘要认证...
【讨论】: