我正在编写一个 api 调用,需要用户的用户 ID 和密码。我可以获取用户 ID,但如何获取他的密码并将其提供给变量?这是api命令
curl -u $user:$password http://localhost:7180/api/v1/clusters/Cluster 1/ervices/HIVE/config?view=FULL
答案1
如果您拥有有权执行 API 的用户的用户凭据,那么您可以将它们放入 $HOME/.netrc 中,如下所示:
machine localhost login that-username-here password that-password-here
其中每隔一个单词:machine
、login
和password
是要保持完整的关键字)并适当地锁定文件的权限(例如chmod go= $HOME/.netrc
)并使用卷发 --netrc
选项:
如果与 HTTP 一起使用,curl 将启用用户身份验证。
curl --netrc "http://localhost:7180/api/v1/clusters/Cluster 1/services/HIVE/config?view=FULL"
我通过两种方式调整了你的curl参数:
- 将假定的拼写错误“服务”更改为“服务”,并且
- 引用整个内容,以启用curl命令的一个参数(给定“Cluster 1”名称中的空格)
如果您只是缺少不同用户的密码,那就是一个不同的问题,此时我会建议为此类 API 调用创建一个单独的帐户(或要求创建这样一个帐户)。