鱼C论坛

 找回密码
 立即注册
查看: 1298|回复: 5

这段代码哪里写错了?别人就可以运行,我这就不行

[复制链接]
发表于 2022-4-23 13:02:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wnhuiyou 于 2022-4-23 13:16 编辑

代码:

1.png



报错:

2.png


整个代码:

  1. # #!/usr/bin/env python
  2. # # -*- encoding:utf8 -*-
  3. import requests
  4. import json
  5. import sys

  6. requests.packages.urllib3.disable_warnings()


  7. class ArubaAPI:
  8.     # 初始化节点登录信息
  9.     def __init__(self, host, user, password, command, port=4343):
  10.         self.login_url = 'https://{}:{}/v1/api/login'.format(host, port)
  11.         self.command_url = 'https://{}:{}/v1/configuration/showcommand'.format(host, port)
  12.         self.username = user
  13.         self.password = password
  14.         self.port = port
  15.         self.command = command
  16.         self.request_header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) '
  17.                                              'AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/67.0.3396.87 '
  18.                                              'Mobile Safari/537.36'}

  19.     def main(self):
  20.         # 保持会话
  21.         r = requests.session()
  22.         try:
  23.             # 登录节点,获取UIDARUBA
  24.             # 登录节点
  25.             params = {'username': self.username, 'password': self.password}
  26.             response = r.get(url=self.login_url, params=params, verify=False)

  27.             # 获取UIDARUBA
  28.             # print(response.text)
  29.             UIDARUBA = json.loads(response.text).values()[0].get("UIDARUBA")
  30.             # print(UIDARUBA)

  31.             # 执行命令
  32.             params = {'UIDARUBA': str(UIDARUBA), "command": self.command}
  33.             # print(params)
  34.             response = r.get(url=self.command_url, params=params, verify=False, headers=self.request_header)
  35.         # print(response.text)
  36.         # except Exception as e:
  37.         #    print(e)  #访问异常,try内容异常
  38.         except:
  39.             print("-5")  # 访问异常,try内容异常

  40.         # 在线设备
  41.         User_Client_list = json.loads(response.text).get("Users")
  42.         print(len(User_Client_list))

  43.     # AP清单,列表
  44.     # 列表里记录着AP状态信息,字典
  45.     # AP_list = json.loads(response.text).get("AP Database")
  46.     # print(AP_list)
  47.     # 循环列表元素,判断字典中Status状态值
  48.     # Down_AP = []
  49.     # for ap in AP_list:
  50.     #        AP_Status = ap.get("Status")
  51.     #        if AP_Status == "Down":
  52.     #                Down_AP.append("离线AP:" + str(ap.get("Name")))
  53.     # for ap in Down_AP:
  54.     #        print(ap)


  55. if __name__ == '__main__':
  56.     login = ArubaAPI('host', 'user', 'passw', 'show user-table')
  57.     login.main()
复制代码




请教下各位,需要怎么修改呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-23 14:58:30 | 显示全部楼层
这个用来批量配置 ap 的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-23 15:41:13 | 显示全部楼层
isdkz 发表于 2022-4-23 14:58
这个用来批量配置 ap 的?

获取AC控制器里面的数据,比如总共AP数量、已上线AP数量、掉线AP数量、在线人数等
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-23 15:45:57 | 显示全部楼层
wnhuiyou 发表于 2022-4-23 15:41
获取AC控制器里面的数据,比如总共AP数量、已上线AP数量、掉线AP数量、在线人数等

是不是你的接口地址错了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-24 10:18:58 | 显示全部楼层
isdkz 发表于 2022-4-23 15:45
是不是你的接口地址错了?

接口地址没错,官网提供的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-27 09:28:23 | 显示全部楼层
是不是用错了python版本,服务器默认是python2,你需要自己安装python3版本
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 04:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表