如何使用request.post在python脚本中不使用密码对bitbucket api进行身份验证?

时间:2020-04-17 14:24:16

标签: python api bitbucket

如何使用request.post在python脚本中通过密码对位桶api进行身份验证?

我目前正在下面的('username', 'mypwd')中使用此方法,但是我想要一种替代方法,

r = requests.post(url, auth=('username', 'mypwd'), headers=headers, data=json.dumps(my_data), timeout=30)

1 个答案:

答案 0 :(得分:0)

正如您在此documentation中所读到的Bitbucket REST API一样,它接受基本身份验证,这是您正在使用的身份验证,即OAuth和会话身份验证。所有这些都可以由请求模块处理。

只要我理解了您的问题,您就不想在代码中输入密码,因此第一时间就放弃了基本身份验证和会话身份验证(我们将在下面显示替代方法)。 OAuth似乎是唯一的方法,但是您需要发送每条帖子或使用应用密钥和令牌密钥等信息进行身份验证。

另一种不错的方法是将密码存储在另一个文件中,并使用input.[0..4]模块和函数os.environ ['VariableName']可以将其提取为代码中的局部变量并传递它到请求功能。

最后但并非最不重要的是,您可以使用os模块来调用函数getpassgetpass,这将提示您输入密码和用户名,并将它们保存到变量中

注意:通过创建请求模块的getuser对象,您只需“登录”一次,此后,其他任何帖子/获取都不需要验证。