<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # :-: 寶塔API全功能接管接口 官方程序中默認使用**封裝**的方法,自定義僅供開發參考。 ## 一、封裝使用 `bt($sid, $go, $data, $pid, $type)` | 參數 | 說明 | | --- | --- | | $sid | 服務器ID,必須 | | $go | 請求功能,必須 | | $data | 傳送數組,必須<br>可參考 系統后臺->搭建系統->功能配置->各項中能中的 示范請求 | | $pid | 所操作的站點ID,選填| | $type | 對接模式,默認為官方接口,選填<br> 1:官方接口 2:cmspro接口 需修改__init__.py(可參考 【寶塔通用就接口】) | **1、系統封裝使用:采用官方 url** ``` /** * 檢查面板更新 */ $data = array( 'check' => 'true' ); $server = bt('10001', '/config?action=get_token', $data, 0); if ($server['token'] != true) { echo '提交失敗,請根據提示調整。<br>' . $server["msg"]; var_dump($server); exit; } else { exit('yes'); } ``` 2、系統精簡請求 ``` /** * 檢查面板更新 */ $data = array( 'check' => 'true' ); $server = bt('10001', 'UpdatePanel', $data, 0); if ($server['token'] != true) { echo '提交失敗,請根據提示調整。<br>' . $server["msg"]; var_dump($server); exit; } else { exit('yes'); } ``` 系統已做好**全局**封裝直接使用即可,也可以拿去做別的封裝參考。 參考封裝 ``` /** * 寶塔系統對接 * @param type $sid 服務器ID * @param type $gourl 所操作的URL 格式為 /data?action=getKey 形式 * @param type $data 發送的數據數組形式 * @param type $pid 所操作的站點ID,選填 * @param type $type 對接模式,默認為官方接口 (1:官方接口 2:cmspro接口 需修改__init__.py) * @return Array */ function bt($sid, $gourl, $data, $pid = 0, $type = 1) { $row = DB('setup_panel_bt')->where("id=$sid")->find(); if ($row['id'] > 0) { //配置服務器信息 $bt_data = array( 'bt_panel' => $row['ssl'] . '://' . $row['api'] . ':' . $row['port'], //服務器地址 'bt_key' => $row['pass'], //服務器秘鑰 'bt_cookie' => DATA . 'temp/', // COOKIE保存目錄 'bt_type' => $type, //對接模式,默認為官方接口 (1:官方接口 2:cmspro接口) 'bt_path' => $row['entry'], //接口路徑,僅對cmspro接口有效 'bt_sid' => $row['id'], //對接的服務器ID 'bt_pid' => $pid, //所操作的項目ID ); //鏈接對應服務器的寶塔 $_bt = new BT_SYS($bt_data); //執行操作命令 return $_bt->Get($gourl, $data); } else { return '服務器不存在或不屬于寶塔面板!'; } } ``` ## 二、自定義使用 **初始化** ``` $bt_data = array( 'bt_panel' => $_POST['ssl'] . '://' . $_POST['api'] . ':' . $_POST['port'], //服務器地址 'bt_key' => $_POST['pass'], //服務器秘鑰 'bt_cookie' => DATA . 'temp/', // COOKIE保存目錄 'bt_type' => 1, //對接模式,默認為官方接口 (1:官方接口 2:cmspro接口) 'bt_path' => null, //接口路徑,僅對cmspro接口有效 'bt_sid' => $_POST['id'], //對接的服務器ID ); $bt = new BT_SYS($bt_data); ``` **功能使用** 1、采用官方 url ``` /** * 檢查面板更新 */ $data = array( 'check' => 'true' ); $server = $bt->Get('/config?action=get_token', $data); if ($server['token'] != true) { echo '提交失敗,請根據提示調整。<br>' . $server["msg"]; var_dump($server); exit; } else { exit('yes'); } ``` 2、系統精簡請求 注:下方用的`UpdatePanel`參考 系統后臺->搭建系統->功能配置->各項中能中的`值` ``` /** * 檢查面板更新 */ $data = array( 'check' => 'true' ); $server = $bt->Get('UpdatePanel', $data); if ($server['token'] != true) { echo '提交失敗,請根據提示調整。<br>' . $server["msg"]; var_dump($server); exit; } else { exit('yes'); } ``` ## 三、寶塔通用就接口 這種情況為備用方案,在寶塔接口無法使用的情況下使用。 **!!!!一定要在修改前備份修改的文件!** 此方法,修改后重啟面板即可,服務重啟面板無法進入面板。 ``` linux登陸ssh 輸入bt 選擇修復面板,然后嘗試重新修改或放棄 win登陸3389覆蓋同版本的文件,然后嘗試重新修改或放棄 ``` 此方法完成后可實現免密碼登錄面板,因此切勿泄露url信息給外人。 免登錄訪問地址為:`http://服務器IP:端口/login?api地址=密鑰` **再次提醒:本方法僅支持寶塔6.0以上的面板,每次更新、重置面板一定要重新檢查是否有以下代碼。** 1.打開面板程序文檔 ``` windows 路徑 D:\BtSoft\panel\BTPanel\__init__.py linux 路徑 /www/server/panel/BTPanel/__init__.py ``` 2.找到 ``` if hasattr(get,'dologin'): ``` 在**上面**增加增加以下代碼 建議用 sublime 編輯器下載下來進行編輯。 特別注意:一定要保持縮進,不然面板無法運行。如最下面的圖 ``` #寶塔對接接口開始 #設置項開始 cp_api_path = 'cmspro' # cmspro 為api地址,請填寫與后臺設置的一致 實際地址為/login?cmspro=123456 cp_api_key = '123456' # 123456 為密鑰,請填寫與后臺設置的一致 #設置項結束 if hasattr(get,cp_api_path): api = request.args.get(cp_api_path, '').strip() if api==cp_api_key: session['admin_auth'] = True session['login'] = True login_path = '/' return redirect(login_path) #寶塔對接接口結束?? ``` **正確的** ![](https://img.kancloud.cn/6d/fa/6dfa090a1361fd676dd4b9e470e144e5_791x362.jpg) **錯誤的** ![](https://img.kancloud.cn/ac/0f/ac0f75fb24ac41a30047f77d7fae3fbf_831x322.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看