# -*- coding: utf-8 -*- """ Created on Wed Dec 11 08:35:29 2019 @author: xbxia """ import requests import json header = { 'X-CP-API-ID':'343293f1', 'X-CP-API-KEY':'7f667830890b4374b8c7', 'X-ECM-API-ID':'1576580160178', 'X-ECM-API-KEY':'02:F9:83:D1:6D:D6' } #header = { # 'X-CP-API-ID':'2e240f3f', # 'X-CP-API-KEY':'1ee6ba74f9dd408a85f2', # 'X-ECM-API-ID':'1576043811571', # 'X-ECM-API-KEY':'02:42:AC:14:00:07' # } # 接口服務器IP 端口 ip = 'wepost.cn/wedora' server = '%s'%(ip) #ip = '172.16.22.21' #port = '50107' #server = '%s:%s'%(ip,port) # 接口請求參數 mac = '00:50:C2:22:9F:20' groupId = '2019UG1574834320402' #DNS_CHECK def save(result): with open('result.txt', 'a+') as fw_t: fw_t.write(result) fw_t.write('\n') def get_AllDeviceList(server,id,header): print("*****獲取所有設備列表文件******") save("*****獲取所有設備列表文件******") url = 'https://%s/monitor/amazon-api/v1/device/devListFile.hd'%(server) params = { 'id':id #'id':get_AllDeviceInfo(server,header) } print("start with downloading file") r = requests.get(url, params=params, headers=header) with open("DeviceList.zip", "wb") as code: code.write(r.content) print("download is complete") save("download is complete") def get_OneDeviceInfo(server,mac,header): print("*****設備查詢_單台設備******") save("*****設備查詢_單台設備******") url = 'https://%s/monitor/amazon-api/v1/device/getSingleDev.hd'%(server) params = { 'mac':mac } r = requests.get(url, params=params, headers=header) print(r.text) save(r.text) ''' 獲取所有設備信息,若傳flag=1,則返回所有設備信息;若不傳參數,則返回一個id。 通過id獲取設備所有信息文件 ''' def get_AllDeviceInfo(server,header): print("*****設備查詢_所有設備******".center(100)) save("*****設備查詢_所有設備******".center(100)) url = 'https://%s/monitor/amazon-api/v1/device/getAllDev.hd'%(server) params = { 'flag':1 #不傳參 } r = requests.get(url, params=params, headers=header) #print(json.loads(r.text)['result']['downLoadUrl'].split('=')[1]) #print('*********************************') #print(params) if params != {}: print(r.text) save(r.text) else: print(r.text) id = json.loads(r.text)['result']['downLoadUrl'].split('=')[-1] #print(id) save(r.text) get_AllDeviceList(server,id,header) #如果傳參為空,就下載設備列表文件 #print('---------------------------') ############################################################################## def get_DeviceStatus(server,mac,id,header): print("*****查詢組設備重啟狀態******") save("*****查詢組設備重啟狀態******") url = 'https://%s/monitor/amazon-api/v1/device/devRebootInfo.hd'%(server) params = { #'mac':mac, 'id':id # 'id':post_GroupDeviceReboot(server,groupId,header) } r = requests.get(url, params=params, headers=header) print(r.text) save(r.text) def post_OneDeviceReboot(server,mac,header): print("*****設備重啟_單台設備******") save("*****設備重啟_單台設備******") url = 'https://%s/monitor/amazon-api/v1/device/rebootSingleDev.hd'%(server) params = { 'mac':mac } r = requests.post(url, params=params, headers=header) print(r.text) save(r.text) # print('*********************************') id = json.loads(r.text)['result']['id'] #return(id) get_DeviceStatus(server,mac,id,header) def post_GroupDeviceReboot(server,mac,groupId,header): print("*****設備重啟_組設備******".center(100)) save("*****設備重啟_組設備******".center(100)) url = 'https://%s/monitor/amazon-api/v1/device/rebootGroupDev.hd'%(server) params = { 'groupId':groupId } r = requests.post(url, params=params, headers=header) print(r.text) save(r.text) #print('*********************************') id = json.loads(r.text)['result']['id'] #return(id) #返回任務id get_DeviceStatus(server,mac,id,header) if __name__ == '__main__': #get_OneDeviceInfo(server,mac,header) get_AllDeviceInfo(server,header) #post_OneDeviceReboot(server,mac,header) #post_GroupDeviceReboot(server,mac,groupId,header) #get_DeviceStatus(server,mac,1576585002185,header)