宝塔接口API
前言
宝塔是一款服务器管理软件,非常方便linux新手和运维人员使用。
为了实现自动化管理,我们需要调用宝塔的接口API。
接口API
- 以nodejs为例,其它语言可参考宝塔官方API文档1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31const md5 = require('md5'); 
 (async () => {
 try {
 const BT_KEY = 'your API-KEY'; // 接口秘钥(在宝塔面板-面板设置-API接口-接口秘钥中获取)
 let BT_PANEL = 'http://***.***.***.***:36677'; // 面板地址 通常为36677接口 也可使用域名访问
 let nowtime = new Date().getTime().toString();
 let type = '/data?action=getData&table=sites'; //获取网站列表为例
 BT_PANEL += type;
 let signature = {
 request_time: nowtime,
 request_token: md5(nowtime + md5(BT_KEY))
 };
 let query_data = { //获取网站列表query参数
 limit: 15,
 };
 let body_data = {};
 let headers = {
 "User-Agent": 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0',
 };
 // toolkit.post_header 带headers的POST请求
 // toolkit.join_url 将query参数拼接到url上
 let html = await toolkit.post_header(toolkit.join_url(BT_PANEL, Object.assign(signature, query_data)), body_data, headers);
 console.log(html.body);
 } catch (err) {
 console.log(err);
 }
 })();
总结
- 使用API前需要,先在宝塔面板-面板设置-API接口-IP白名单中添加调用的服务器地址。如果为本机调用,还需要添加 127.0.0.1。
- 宝塔官方API
- 本实例以获取网站列表为例,其它的只需要查看官方API查找并替换URL和提交参数即可。当然直接F12,通过开发者工具查看更加方便。
- API参数绝大多数为query参数、POST请求,官方的post参数大多数应该改为query参数才可以用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 个人记录!
 评论



