python - 如何在 python 脚本中使用 request.post 对 bitbucket api 进行身份验证而无需密码?
问题描述
如何在 python 脚本中使用 request.post 对 bitbucket api 进行身份验证而无需密码?
我目前正在使用下面的这种方法,('username', 'mypwd')
但我想要另一种方法,
r = requests.post(url, auth=('username', 'mypwd'), headers=headers, data=json.dumps(my_data), timeout=30)
解决方案
正如您在 Bitbucket REST API 的文档中所读到的,它接受基本身份验证,即您正在使用的身份验证、OAuth 和会话身份验证。所有这些都可以由请求模块处理。
只要我理解您的问题,您不希望您的密码出现在代码中,因此基本身份验证和会话身份验证会在第一时间被丢弃(我们将在下面看到替代方案)。OAuth 似乎是唯一的方法,但您需要在每篇文章中发送或使用应用程序密钥和令牌秘密等信息进行身份验证。
另一个好方法是将密码存储在另一个文件中,通过使用os
模块和函数 os.environ['VariableName'] 您可以将其提取到代码上的局部变量中并将其传递给 requests 函数。
最后但并非最不重要的一点是,您可以使用该getpass
模块来调用函数getpass
,getuser
它会提示您输入密码和用户名,并将它们保存到变量中。
注意:通过创建session
请求模块的对象,您只需“登录”一次,之后就没有其他 post/get 需要身份验证。
推荐阅读
- mql4 - 在 mql4 中创建多货币专家
- java - 如何自定义 eclipse 以格式化二维数组?
- c# - 可以更新 2 列表单 1 查找吗?
- c# - 我可以使用 C# 代码以编程方式生成不记名令牌吗?
- php - 本地设置上的 Laravel NotFoundHTTPException
- reporting-services - 从报告中删除多余的空白页
- scala - Gatling stomp 发布/订阅负载测试
- xcode - Xcode Post Archive Action - 存档路径环境变量
- machine-learning - 您认为解码器编码器 FCN 可以替代内核卷积算法吗?
- javascript - Javascript地图功能重复值