欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

typecho博客于宝塔API查看服务器信息

网站源码 sky995 2年前 (2022-10-31) 490次浏览 0个评论

本文及资源最后更新时间 2022-10-31 by sky995

可以通过宝塔给出的API接口,在网站上直接看到服务器当前的信息状态

打开宝塔面板的面板设置-api接口,如图
typecho博客于宝塔API查看服务器信息

这里提到的开启API后,必需在IP白名单列表中的IP才能访问面板API接口,除了必须要填入127.0.0.1之外,还有一个ip就是你当前访问服务器的ip,比如如果你是电脑的软件,那就是电脑的ip地址,如果是网站,那就是网站的ip地址

宝塔api说明手册pdf地址:https://www.bt.cn/api-doc.pdf

typecho主题里面,设置了获取宝塔路径和接口密钥
typecho博客于宝塔API查看服务器信息
通过ECharts.js插件展示,下面代码为functions.php里面的执行函数

  1. /* 获取服务器状态 */
  2. function _getServerStatus($archive)
  3. {
  4. $archive->response->setStatus(200);
  5. $api_panel = Helper::options()->BTPanel;
  6. $api_sk = Helper::options()->BTKey;
  7. if (!$api_panel) return $archive->response->throwJson([
  8. “code” => 0,
  9. “data” => “宝塔面板地址未填写!”
  10. ]);
  11. if (!$api_sk) return $archive->response->throwJson([
  12. “code” => 0,
  13. “data” => “宝塔接口密钥未填写!”
  14. ]);
  15. $request_time = time();
  16. $request_token = md5($request_time . . md5($api_sk));
  17. $ch = curl_init();
  18. curl_setopt($ch, CURLOPT_URL, $api_panel . ‘/system?action=GetNetWork’);
  19. curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
  20. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 3000);
  21. curl_setopt($ch, CURLOPT_TIMEOUT_MS, 3000);
  22. curl_setopt($ch, CURLOPT_POST, 1);
  23. curl_setopt($ch, CURLOPT_POSTFIELDS, array(“request_time” => $request_time, “request_token” => $request_token));
  24. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  25. curl_setopt($ch, CURLOPT_HEADER, 0);
  26. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  27. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  28. $response = json_decode(curl_exec($ch), true);
  29. curl_close($ch);
  30. $archive->response->throwJson(array(
  31. /* 状态 */
  32. “status” => $response ? true : false,
  33. /* 信息提示 */
  34. “message” => $response[‘msg’],
  35. /* 上行流量KB */
  36. “up” => $response[“up”] ? $response[“up”] : 0,
  37. /* 下行流量KB */
  38. “down” => $response[“down”] ? $response[“down”] : 0,
  39. /* 总发送(字节数) */
  40. “upTotal” => $response[“upTotal”] ? $response[“upTotal”] : 0,
  41. /* 总接收(字节数) */
  42. “downTotal” => $response[“downTotal”] ? $response[“downTotal”] : 0,
  43. /* 内存占用 */
  44. “memory” => $response[“mem”] ? $response[“mem”] : [“memBuffers” => 0, “memCached” => 0, “memFree” => 0, “memRealUsed” => 0, “memTotal” => 0],
  45. /* CPU */
  46. “cpu” => $response[“cpu”] ? $response[“cpu”] : [0, 0, [0], 0, 0, 0],
  47. /* 系统负载 */
  48. “load” => $response[“load”] ? $response[“load”] : [“fifteen” => 0, “five” => 0, “limit” => 0, “max” => 0, “one” => 0, “safe” => 0],
  49. ));
  50. }

以上为部分代码展示,仅作为参考研究,提示:typecho程序里面的Joe主题内置有这个功能,喜欢的朋友可以去找找这款主题

以下为typecho结合宝塔API查看服务器信息的图片展示

typecho博客于宝塔API查看服务器信息


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:typecho博客于宝塔API查看服务器信息
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址