【发布时间】:2020-01-14 20:43:51
【问题描述】:
无法使用 rest API 获取 VM 列表,我设法获取了身份验证会话,但我不知道如何获取 vm 列表的 ger。
我正在寻找 fot 天,但我没有解决方案,我将会话存储在 vcenter 上,但我不知道如何获取 vm 列表。我什么都试。
def vcenter_api(request):
is_cached = ('value' in request.session)
context = {}
if not is_cached:
ip_address = request.META.get('HTTP_X_FORWARDED_FOR', '')
response=requests.post
('https://192.168.74.130/rest/com/vmware/cis/session',
verify=False,auth=HTTPBasicAuth(api_user, api_pass))
request.session['value'] = response.json()
x = request.session['value']
vm = request.GET.get('https://192.168.74.130/rest/vcenter/vm/')
context.update({ 'vm' : vm })
return render(request, 'ok.html', context)
在模板中,如果我取 x 的值,它会返回值“无”,我得到了身份验证令牌。 请帮助我,我不明白。非常感谢!!!
【问题讨论】:
-
你能告诉我们'print(vars(request.GET))'的结果吗
-
'.get(“key”) 的默认行为是如果未定义密钥,则返回 None。所以我猜“192.168.74.130/rest/vcenter/vm”不在请求字典中
-
返回 x = request.session['value'] 是会话的令牌(响应 200) {'value': '5037b409066682fe0edea1e16290b6b0'} 是正确的,现在这个令牌被缓存了,但我没有'不知道如何通过 header 中的 sessione 调用“192.168.74.130/rest/vcenter/vm”来获取 vm 列表