首页 > 解决方案 > 如何从 Tower / AWX API 获取令牌?

问题描述

我正在尝试从脚本 Python 访问 AWX API。
该文档有资源/api/v1/authtoken/,但是在访问 URL 时: https://myHost/api/v1/authtoken/ 它说它找不到资源。

我也试过:

response = requests.get('https://myHost/api/login/', verify=False,
    data = json.dumps({"username": "user","password": "pass"}))
results = json.loads(response.text)
token = results['token']

但我得到一个:

ValueError: No JSON object could be decoded

AWX 版本:10.0.0

标签: pythonrestansibleansible-toweransible-awx

解决方案


精美的手册说:

对 /api/login/ 的 GET 显示 API 浏览器的登录页面

肯定= requests.get(不是你想要的。但是,即使您要切换到下一行,也会说:requests.post

需要注意的是,/api/login/ 的 POST 正文不是 JSON 格式,而是 HTTP 表单格式。表格中应提供四项:

所以data = json.dumps({也肯定不是你想要的


推荐阅读