#- * -コーディング:UTF-8 - * - "" " 水12月11日に作成午前八時35分29秒2019 @author:xbxia """ インポート要求が インポートJSON ヘッダ = { ' 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 " } #ヘッダー= { # 'X - CP-API-ID': '2e240f3f' # 'X - CP-API-KEY': '1ee6ba74f9dd408a85f2' # 'X - ECM-API-ID': '1,576,043,811,571'、 # 'ECM-API-X-KEY-':'02:42である:AC:14:00:07' # } #のインターフェイスサーバIPポート IP = ' wepost.cn/wedora ' サーバー = ' %S '%(IP) #IP = '172.16.22.21' #ポート= '50107' #1 サーバー= '%S:%S' %(IP、ポート) #1 インターフェイスパラメータ要求 MACを= ' 00:50:C2:22である:9F:20 ' groupId = ' 2019UG1574834320402 ' #DNS_CHECK DEF 保存(結果): オープン(と' result.txt '、' A + ' fw_t AS): fw_t.write(結果) fw_t.write(' \ N- ' ) DEF get_AllDeviceList(サーバー、ID 、ヘッダ): 印刷(「***** ******すべてのデバイスファイルのリストを取得」) の保存(「***** ******すべてのデバイスファイルのリストを取得」) URL = " HTTPS ://%sの/モニター/アマゾン -api / V1 /デバイス/ devListFile。HD'%(サーバー) のparams = { ' ID ' :のID #'ID':get_AllDeviceInfo(サーバ、ヘッダ)が } 印刷(" ダウンロードファイルで始まる" ) 、R = requests.get(URL、paramsは= paramsは、ヘッダ= ヘッダ) オープン(と" DeviceList.zip "、" WB " :コードなど) code.write(r.content) プリント(" ダウンロードの完了" ) (SAVE 」完了するとダウンロード「) DEF get_OneDeviceInfo(サーバ、MACヘッダー): 印刷(」*****デバイスクエリ_単一デバイス****** 「) 保存(」***** _単一のデバイスのクエリデバイス****** 」) URL = ' HTTPS://%s/monitor/amazon-api/v1/device/getSingleDev.hd '%(サーバー) のparams = { ' MAC ' :MAC } R&LT =要求。 GET(URL、のparams =パラメータ、ヘッダ= ヘッダ) を印刷(r.text) 保存(r.text) '' ' すべてのデバイス情報を取得し、通過フラグ= 1の場合には、デバイスに関する情報を返す、パラメータを渡していない場合は、IDを返します。 上記ID上記介してすべての情報取得装置ファイル 「」 ' DEF get_AllDeviceInfo(サーバ、ヘッダ): 印刷(『*****デバイスは、すべてのデバイスを照会_ ****** 』 .center(100 )) の保存(「*** **デバイスは、すべてのデバイスを照会_ ****** 」 .center(100 )) URL = ' HTTPS://%s/monitor/amazon-api/v1/device/getAllDev.hd '%(サーバー) のparams = { ' のフラグ':1つの #は、パラメータを渡さない } R&LT = requests.get(URL、paramsは= paramsは、ヘッダー=ヘッダ) #1 プリント(json.loads(r.text)[ '結果'] [ 'downLoadUrl']。スプリット( '=')[1]) #1 プリント( '************ ********************* ') #の印刷(のparams) の場合のparams =!{}: プリント(r.text) 保存(r.text) 他: プリント(r.text) ID = json.loads(r.text)' 結果' ] [ ' downLoadUrl ' ] .split(' = ') - 1 ] #1 プリント(ID) を保存(r.text) get_AllDeviceList(サーバ、ID、ヘッダ) #伝送パラメータが空の場合、デバイスリストファイルダウンロード #の印刷(「--------------------------」) #を#### ################################################## ####################### DEF get_DeviceStatus(サーバ、MAC、上記ID、ヘッダ上): 印刷(" *****リブートステータスクエリグループ** **** " ) 保存(" *****クエリグループの再起動状態****** " ) URL = " HTTPS://%s/monitor/amazon-api/v1/device/devRebootInfo.hd '%(サーバー) のparams = { #' MAC ':MAC、 ' ID ' :IDが #'ID':post_GroupDeviceReboot(サーバ、のgroupId、ヘッダ) } R&LT = requests.get(URL、paramsは= paramsは、ヘッダ= ヘッダ) プリント(r.text) 保存(r.text) DEF post_OneDeviceReboot(サーバ、MACヘッダ) : 印刷(" *****単一のデバイスは、デバイスが_ ******再起動された" ) (保存" _ ****** *****単一のデバイスは、デバイスが再起動される" ) URL = " HTTPS: //%s/monitor/amazon-api/v1/device/rebootSingleDev.hd '%(サーバー) のparams = { ' MAC ' :MAC } R&LT = requests.post(URL、paramsは= paramsは、ヘッダ= ヘッダ) プリント(r.text) 保存(r.text) #の印刷(「************************************************** *************** ') ID = json.loads(r.text)[ ' 結果' ] [ ' ID " ] #のリターン(ID) get_DeviceStatus(サーバ、MAC、ID、ヘッダ) DEF post_GroupDeviceReboot(サーバ、MAC、groupIdを、ヘッダ): 印刷(" *****デバイスのリブートのグループ_ ****** " .center(100 )) の保存(" *****リブートデバイスグループ_ ****** 」 .center(100 )) URL= ' HTTPS://%s/monitor/amazon-api/v1/device/rebootGroupDev.hd '%(サーバー) のparams = { ' のgroupId ' :のgroupId } R = requests.post(URL、paramsは= paramsは、ヘッダー= ヘッダ) プリント(r.text) (r.text)保存 #の印刷( '******************************** * ') ID = json.loads(r.text)' 結果' ] [ ' ID ' ] #のリターン(ID)#返回任务ID get_DeviceStatus(サーバ、MAC、ID、ヘッダ) 場合 __name__ ==' __main__ ' : #get_OneDeviceInfo(サーバ、MACヘッダ) get_AllDeviceInfo(サーバ、ヘッダ) #post_OneDeviceReboot(サーバ、MACヘッダ) #post_GroupDeviceReboot(サーバ、MAC、groupIdを、ヘッダ) #get_DeviceStatus(サーバ、MAC、1576585002185、ヘッダ)