首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VIPTELA SDWAN API调用问题

VIPTELA SDWAN API调用问题
EN

Stack Overflow用户
提问于 2020-10-22 08:54:25
回答 2查看 194关注 0票数 0

在调用API时需要您的专家建议。

我试图在Viptela中构建一个调用设备信息的脚本。在我的家庭实验室脚本按预期工作,但当我更改URL为实时的托管在AWS上,它给我错误和脚本无法登录。然而,通过互联网浏览器,我能够登录到Vmanage。

下面是我得到的配置和错误消息。任何建议都会有帮助。

错误:

代码语言:javascript
复制
Traceback (most recent call last):
File "C:/Users/XXXXXXX/Desktop/New folder (2)/apicallproject.py", line 123, in <module>
my_login()
File "C:/Users/XXXXXXX/Desktop/New folder (2)/apicallproject.py", line 24, in my_login
response = session.post(url=login_url, data=login_credentials, verify=false)
NameError: name 'false' is not defined

Process finished with exit code 1

+++++++++++++++With验证集为true++++++++++++++++++++++

代码语言:javascript
复制
Traceback (most recent call last):
File "C:/Users/XXXXXXX/Desktop/New folder (2)/apicallproject.py", line 123, in <module>
my_login()
File "C:/Users/XXXXXXXX/Desktop/New folder (2)/apicallproject.py", line 24, in my_login
response = session.post(url=login_url, data=login_credentials, verify=true)
NameError: name 'true' is not defined

Process finished with exit code 1

下面的是python脚本,它在我的家庭实验室运行得很好:-

代码语言:javascript
复制
ur = input ("Enter the path to Vmanage :")

name = input("Please enter your user name:")
passw = input("Please enter your password:")

def my_login():


login_url = '%s/j_security_check'%ur
login_credentials = {'j_username': name, 'j_password': passw}

session = requests.session()

response = session.post(url=login_url, data=login_credentials, verify=false)

if b`'<html>'` in response.content:

print('Login Failed')

else:

print('Login Success')
EN

回答 2

Stack Overflow用户

发布于 2020-12-09 09:01:39

使用TrueFalse应该有效。可能是因为不同的python版本。

票数 1
EN

Stack Overflow用户

发布于 2022-07-02 17:09:14

我对您的代码做了一些小的更改,并且能够在20.4版的DevNet Sandbox中运行它,您可以在您的环境中尝试下面的代码。

代码语言:javascript
复制
import requests
import sys

requests.packages.urllib3.disable_warnings()

ur = input("Enter the path to Vmanage :")
name = input("Please enter your user name:")
passw = input("Please enter your password:")

def my_login():
  login_url = '%s/j_security_check' % ur
  login_credentials = {'j_username': name, 'j_password': passw}
  session = requests.session()
  response = session.post(url = login_url, data = login_credentials, verify=False)
  if b'<html>' in response.content:
    print(f"Login Failed, {response.status_code}")
    exit(0)
  else:
    print(f"Login Success, {response.status_code}")

my_login()

输入到Vmanage的路径:https://sandbox-sdwan-2.cisco.com

请输入您的用户名:devnetuser

请输入您的密码:RG!_Yw919_83

登录成功,200

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64478693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档