首页 > 其他 > 详细

自动获取IMC系统所有网络设备资产信息

时间:2021-03-31 14:02:02      阅读:26      评论:0      收藏:0      [点我收藏+]
 1 #coding=utf8
 2 
 3 """
 4 CMDB接口调用
 5 """
 6 import csv
 7 import json
 8 import time
 9 
10 import requests
11 from requests.auth import HTTPDigestAuth
12 
13 class getAPIInfo(object):
14 
15     def __init__(self,api_url,username,password):
16         self.headers = {Accept: application/json}
17         self.base_url = http://xx.xx.xx.xx:8080
18         self.api_url = api_url
19         self.username = username
20         self.password = password
21 
22     def get_info(self):
23         headers = self.headers
24         base_url = self.base_url
25         api_url = self.api_url
26         username = self.username
27         password = self.password
28 
29         authhandler = HTTPDigestAuth(username,password)
30         resp = requests.get(base_url + api_url, auth=authhandler, headers=headers)
31         content = json.loads(resp.text)
32         return content
33 
34 class writeToCsv(object):
35     def __init__(self,data,info):
36         self.data = data
37         self.info = info
38 
39     def write_to_csv(self):
40         rows = self.data
41         info = self.info
42         csvfile = "设备信息列表" + info + time.strftime(_%Y%m%d%H%M%S, time.localtime(time.time())) + ".csv"
43         # print(csvfile)
44         # 创建文件对象
45         f = open(csvfile, w)
46 
47         # 通过文件创建csv对象
48         csv_write = csv.writer(f)
49 
50         # writerow: 按行写入, writerows: 是批量写入
51         # 写入数据 取列表的第一行字典,用字典的key值做为头行数据
52         csv_write.writerow(rows[0].keys())
53 
54         # 循环里面的字典,将value作为数据写入进去
55         for row in rows:
56             csv_write.writerow(row.values())
57 
58         # 关闭打开的文件
59         f.close()
60         return "读写完成:"+csvfile
61 
62 if __name__ == __main__:
63     # # 1 - 查询设备信息列表 /plat/res/device
64     api_url = "/imcrs/plat/res/device?size=1000"
65     info = "device"
66 
67     # 2-获取AC相关信息http://ip:8080/imcrs/wlan/acInfo/queryAcBasicInfo
68     # api_url = "/imcrs/wlan/acInfo/queryAcBasicInfo"
69     # info = ‘acBasicInfo‘
70 
71     # 3 -查询Ap相关信息GET /imcrs/wlan/apInfo/queryApBasicInfo
72     # api_url = "/imcrs/wlan/apInfo/queryApBasicInfo"
73     # info = ‘apBasicInfo‘
74 
75     # #4-查询设备类型列表/plat/res/category
76     # api_url = "/imcrs/plat/res/category"
77 
78     # #5-查询资产列表/netasset/asset
79     # api_url = "/imcrs/netasset/asset"
80 
81     # 获取API接口信息
82     username = ******
83     password = ‘******
84     # 1- 获取api接口信息
85     req = getAPIInfo(api_url,username,password)
86     content = req.get_info()
87     # print(content)
88 
89     # #获取设备json数据
90     data = content[info]
91 
92     # 2-调用写入csv类
93     write = writeToCsv(data,info)
94     resp = write.write_to_csv()
95     print(resp)

 

自动获取IMC系统所有网络设备资产信息

原文:https://www.cnblogs.com/hussgo/p/14600931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!