宝塔面板的api说明手册及简单使用

tengxunyun cera

几年前建站还是有点门槛的,自从各种一键安装web环境,web面板出现后,整个建站行业受到了9999点暴击。最好用的应该就是宝塔面板了,从它发布开始,就受到不少人的追捧。宝塔面板是使用浏览器来进行管理的,那么也就是说它是和网页一样的操作方式来管理服务器。最近宝塔官方发布了部分api,供大家自定义管理面板,这些api通过浏览器进行抓包就能抓到,下面我们一起来看看这些api怎么使用。

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

首先是签名算法,每次请求必须有由签名算法计算出的签名服务器才会响应。

api_sk = 接口密钥 (在面板设置页面 – API 接口中获取)
request_time = 当前请求时间的 uinx 时间戳 ( php: time() / python: time.time() )
request_token = md5(string(request_time) + md5(api_sk))
PHP 示例:
$request_token = md5($request_time . ‘’ . md5($api_sk))
参数说明
request_time 当前 uinx 时间戳 [必传]
request_token md5(string(request_time) + md5(api_sk)) [必传]
其它参数 功能接口需要的其它参数 [可选]
注意事项:
请统一使用 POST 方式请求 API 接口
为了确保请求效率,请保存 cookie,并在每次请求时附上 cookie
为了面板安全考虑,请务必添加 IP 白名单
所有响应内容统一为 Json 数据格式
官方示例
if($bt_key) $this->BT_KEY = $bt_key;
}

//示例取面板日志
public function GetLogs(){
//拼接URL地址
$url = $this->BT_PANEL.’/data?action=getData’;

//准备POST数据
$p_data = $this->GetKeyData(); //取签名
$p_data[‘table’] = ‘logs’;
$p_data[‘limit’] = 10;
$p_data[‘tojs’] = ‘test’;

//请求面板接口
$result = $this->HttpPostCookie($url,$p_data);

//解析JSON数据
$data = json_decode($result,true);
return $data;
}

/**
* 构造带有签名的关联数组
*/
private function GetKeyData(){
$now_time = time();
$p_data = array(
‘request_token’ => md5($now_time.”.md5($this->BT_KEY)),
‘request_time’ => $now_time
);
return $p_data;
}

/**
* 发起POST请求
* @param String $url 目标网填,带http://
* @param Array|String $data 欲提交的数据
* @return string
*/
private function HttpPostCookie($url, $data,$timeout = 60)
{
//定义cookie保存位置
$cookie_file=’./’.md5($this->BT_PANEL).’.cookie’;
if(!file_exists($cookie_file)){
$fp = fopen($cookie_file,’w+’);
fclose($fp);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}

//实例化对象
$api = new bt_api();
//获取面板日志
$r_data = $api->GetLogs();
//输出JSON数据到浏览器
echo json_encode($r_data);
?>
返回的数据都是json类型,目前宝塔提供的api不够全面,比如我要通过指定字段搜索网站,宝塔只提供了一个模糊搜索的接口,不好用,需要自己构造排除数据,浪费时间性能。

cera aliyun tengxunyun cloudiplc

相关推荐

基于宝塔面板|安装qiandao.today|自动签到工具

QianDao.Todao简介 qiandao.today:一个自动签到框架 Base on an HAR Editor 本次测试环境 Linux为Centos7.3 Python版本为2.7 宝塔面板版本为免费版6.8.8 项目地址 https://github.com/binux/qiandao 前期准备 安装宝塔面板,并安装相关环境。我这里用的是LNMP(nginx)。 在“软件管理”里安装Docker管理器 安装完Docker管理器后点击后面的设置 Ps:我刚安装好后点击进去提示抱歉,出错了;Traceback(most recent call last);…………错误 可以在ssh中输入pip install docker==2.7来升级一下版本,如果报错:Cannot uninstall ‘requests’. It is a distutils ……….是因为requests 默认版本过低造成的,这里再输入以下命令pip install -I requests==2.9此时应该不报错了,再次执行上一条命令,然后在宝塔面板后台重启面板或者重启服务器即可。 安装qiandao.today平台 1.进入宝塔后台的Docker管理器>设置>镜像管理>获取镜像,这里输入 fangzhengjin/qiandao 2.回到容器列表>创建容器(填写一下内容,端口跟目录映射填写完需要点“+”) 步骤:- 镜像:选择刚获取到的签到镜像 – 绑定IP:留空 – 容器端口:80(必须) – 服务端口:6666(可自定义) – 服务器目录:/Docker/qiandao(最好跟我一样) – 服务器目录:/usr/src/app/(必须) – 内存配额:100(根据需要) – CPU权重:30(根据需要) …

宝塔面板nginx防火墙无法解封所有

昨天刚买了一年的宝塔专业版。刚安装好nginx防火墙就发现一个问题。那就是防火墙会自动显示已解封,实际并没有解封。然后点击解封所有则显示获取数据失败。切换成免费版也是显示获取数据失败。经多次尝试,发现BUG所在。下面简单介绍下解决方法。 这个问题所在其实是因为防CC策略设置问题。如果设置防CC或者恶意容忍度为86400,就会显示获取数据失败。解决方法也很简单。先卸载nginx防火墙。设置防CC的时候禁用IP时间设置低于86400即可。没有固定数值,按自己喜好设置即可。 故障图片:   宝塔nginx防火墙获取数据失败 小白之前尝试过禁用所有规则,卸载重装nginx、nginx防火墙均无效。后来才想到是设置出现问题了。看来应该是宝塔官方的BUG。 防火墙为付费软件。有需要的可以领取宝塔代金券(点击领取),先1块钱体验一下完整专业版所有插件,如果感觉这个软件合适,那么可以续费。

宝塔面板该站点已经被管理员停止运行

最近运行在美国服务器上的网站老是提示“抱歉!该站点已经被管理员停止运行,请联系管理员了解详情!”每次重新开启过一天又会出现这个问题。经过仔细筛查原来是出了乌龙。 之前买服务器的时候设置了网站到期时间,这个以便于查看服务器的续费时间,结果续费后忘记重新设置了。导致宝塔每天都会认为该网站过期了。每天自动停止它。 解决方法也很简单,直接在宝塔 – 网站 中找到对应的域名。把已停止点击成运行中即可。记得把到期时间重新设置下。不然第二天又会被禁用。

宝塔面板忘记登陆用户名密码怎么办|

很多人网站建好后就很少登陆#宝塔面板#了,最后需要更新或者修改的时候就忘记了#登陆账号#名和密码。那么该怎么#找回密码#呢?其实很简单,今天简单介绍下找回宝塔的用户名和密码的方法。 1、如果安装好宝塔面板后压根没有修改过默认用户名和密码 在SSH中输入 bt default 即可显示当初的默认密码。 2、已经修改过用户名或密码 在SSH中输入“bt”,注意是小写。 (1) 重启面板服务 (8) 改面板端口 (2) 停止面板服务 (9) 清除面板缓存 (3) 启动面板服务 (10) 清除登录限制 (4) 重载面板服务 (11) 取消入口限制 (5) 修改面板密码 (12) 取消域名绑定限制 (6) 修改面板用户名 (13) 取消IP访问限制 (7) 强制修改MySQL密码 (14) 查看面板默认信息 (22) 显示面板错误日志 (15) 清理系统垃圾 (23) 关闭BasicAuth认证 (16) 修复面板(检查错误并更新面板文件到最新版)(0) 取消 然后选5和6,分别修改用户名和密码。如果是7.x版本的还会有一个入口限制。那么就选11先取消了入口限制,这样你就可以用ip:端口访问了。如果端口都忘了,那就选8修改个端口(会自动添加防火墙允许端口),记得在安全组中设置好放行规则。 以上就是今天要介绍的宝塔面板找回用户名和密码。如果你还是没办法解决,那么重新安装一遍最新版宝塔也能解决。不会丢失数据。

微信扫一扫,分享到朋友圈

宝塔面板的api说明手册及简单使用