首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以使用httplib2进行先发制人的身份验证吗?

我可以使用httplib2进行先发制人的身份验证吗?
EN

Stack Overflow用户
提问于 2011-08-16 11:27:36
回答 3查看 3.8K关注 0票数 5

我需要对HTTP服务器执行先发制人的基本身份验证,即无需等待401响应就立即进行身份验证。这能用httplib2来完成吗?

编辑:

我通过在请求中添加一个授权头来解决这个问题,正如接受的答案中所建议的那样:

代码语言:javascript
运行
复制
 headers["Authorization"] = "Basic {0}".format(
        base64.b64encode("{0}:{1}".format(username, password)))
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-16 11:33:05

向初始请求中添加适当格式的“授权”标题。

票数 4
EN

Stack Overflow用户

发布于 2011-11-22 18:40:43

这也适用于内置的httplib (对于任何希望最小化第三方库/模块的人)。我使用它与Jenkins服务器进行身份验证,使用Jenkins可以为每个用户创建的API令牌。

代码语言:javascript
运行
复制
>>> import base64, httplib
>>> headers = {}
>>> headers["Authorization"] = "Basic {0}".format(
        base64.b64encode("{0}:{1}".format('<username>', '<jenkins_API_token>')))

>>> ## Enable the job
>>> conn = httplib.HTTPConnection('jenkins.myserver.net')
>>> conn.request('POST', '/job/Foo-trunk/enable', None, headers)
>>> resp = conn.getresponse()
>>> resp.status
302

>>> ## Disable the job
>>> conn = httplib.HTTPConnection('jenkins.myserver.net')
>>> conn.request('POST', '/job/Foo-trunk/disable', None, headers)
>>> resp = conn.getresponse()
>>> resp.status
302
票数 4
EN

Stack Overflow用户

发布于 2014-03-05 16:26:18

我意识到这是一个古老的问题,但我想如果您在httplib2中使用Python3,我会提供解决方案,因为我在其他地方都找不到它。我还使用每个Jenkins用户的API令牌对Jenkins服务器进行身份验证。如果您不关心Jenkins,只需将实际用户的密码替换为API令牌即可。

b64encode期待一个二进制字符串的ASCII字符。使用Python3时,如果传入一个普通字符串,就会引发TypeError。为了解决这个问题,报头的"user:api_token“部分必须使用'ascii‘或'utf-8’进行编码,然后传递给b64encode,然后必须将产生的字节字符串解码为一个普通字符串,然后再放入标头中。以下代码完成了我所需的工作:

代码语言:javascript
运行
复制
import httplib2, base64

cred = base64.b64encode("{0}:{1}".format(
    <user>, <api_token>).encode('utf-8')).decode()
headers = {'Authorization': "Basic %s" % cred}
h = httplib2.Http('.cache')
response, content = h.request("http://my.jenkins.server/job/my_job/enable",
    "GET", headers=headers)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7077475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档