3.1 KiB
3.1 KiB
宝塔面板 API 接口文档
1. 鉴权机制
所有 API 请求均需包含鉴权参数,使用 POST 方式提交。
签名算法
import time
import hashlib
def get_sign(api_key):
now_time = int(time.time())
# md5(timestamp + md5(api_key))
sign_str = str(now_time) + hashlib.md5(api_key.encode('utf-8')).hexdigest()
request_token = hashlib.md5(sign_str.encode('utf-8')).hexdigest()
return now_time, request_token
基础参数
每次 POST 请求必须包含:
request_time: 当前时间戳 (10位)request_token: 计算生成的签名
2. 系统管理接口
获取系统基础统计
- URL:
/system?action=GetSystemTotal - 功能: 获取 CPU、内存、系统版本等信息
获取磁盘信息
- URL:
/system?action=GetDiskInfo - 功能: 获取各分区使用情况
获取网络状态
- URL:
/system?action=GetNetWork - 功能: 获取实时网络流量
3. 网站管理接口
获取网站列表
- URL:
/data?action=getData&table=sites - 参数:
limit: 每页条数 (默认15)p: 页码 (默认1)search: 搜索关键词 (可选)
添加静态/PHP网站
- URL:
/site?action=AddSite - 参数:
webname: 域名 (json字符串)path: 根目录路径version: PHP版本 (00=纯静态,74=PHP 7.4)port: 端口 (默认80)
删除网站
- URL:
/site?action=DeleteSite - 参数:
id: 网站IDwebname: 网站域名
4. 文件管理接口
读取文件内容
- URL:
/files?action=GetFileBody - 参数:
path: 文件绝对路径
保存文件内容
- URL:
/files?action=SaveFileBody - 参数:
path: 文件绝对路径data: 文件内容encoding: 编码 (默认utf-8)
创建目录
- URL:
/files?action=CreateDir - 参数:
path: 目录绝对路径
删除文件/目录
- URL:
/files?action=DeleteFile - 参数:
path: 绝对路径
5. Node.js 项目管理 (PM2)
注:部分接口可能随宝塔版本更新而变化
获取 Node 项目列表
- URL:
/project/nodejs/get_project_list
添加 Node 项目
- URL:
/project/nodejs/add_project - 参数:
name: 项目名称path: 项目根目录run_cmd: 启动命令port: 项目端口
启动/停止/重启项目
- URL:
/project/nodejs/start_project(或stop_project,restart_project) - 参数:
project_name: 项目名称
6. SSL证书管理
获取证书列表
- URL:
/ssl?action=GetCertList
获取网站SSL配置
- URL:
/site?action=GetSSL - 参数:
siteName: 网站名称
7. 计划任务
获取计划任务列表
- URL:
/crontab?action=GetCrontab
执行计划任务
- URL:
/crontab?action=StartTask - 参数:
id: 任务ID
8. 服务管理
重载/重启服务
- URL:
/system?action=ServiceAdmin - 参数:
name: 服务名称 (nginx, mysql等)type: 操作类型 (reload, restart, stop, start)