鱼C论坛

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

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

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

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

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

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

代码:

1.png



报错:

2.png


整个代码:
# #!/usr/bin/env python
# # -*- encoding:utf8 -*-
import requests
import json
import sys

requests.packages.urllib3.disable_warnings()


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

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

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

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

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

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


if __name__ == '__main__':
    login = ArubaAPI('host', 'user', 'passw', 'show user-table')
    login.main()



请教下各位,需要怎么修改呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-23 14:58:30 | 显示全部楼层
这个用来批量配置 ap 的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

获取AC控制器里面的数据,比如总共AP数量、已上线AP数量、掉线AP数量、在线人数等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

是不是你的接口地址错了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

接口地址没错,官网提供的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-27 09:28:23 | 显示全部楼层
是不是用错了python版本,服务器默认是python2,你需要自己安装python3版本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 14:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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