Pythonの実装は、インタフェースケースを呼び出します

- * -コーディング: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、ヘッダ)

 

おすすめ

転載: www.cnblogs.com/relustarry/p/12588521.html