Files
soul/开发文档/服务器管理/references/宝塔api接口文档.md

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: 网站ID
    • webname: 网站域名

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)