宝塔面板API接口抓取教程-宝塔接口配置文件

我们在使用宝塔面板的的时候,如果需要用PHP来操作一些API接口,那么肯定需要知道一些功能的API接口的数据,虽然官方文档也写了一些,但是写的很粗线条。

所以我们有时候需要自己抓取API接口数据,那么宝塔面板如何抓取呢,或者我们想要知道新建网站的这个动作的API的接口数据应该怎么抓取呢,今天这篇文章大鸟简单说说。

一:登录面板

额,这个不需要多说,我们需要登录自己的宝塔面板来操作。登录之后需要配置面板API,如图:宝塔面板API接口抓取教程-宝塔接口配置文件

 

二:找到自己需要的功能

这里少羽以新建网站为例,来抓取这个接口。额,少羽这里用的是chrome浏览器,我们按F12打开审查元素(控制台)切换到Network选项卡,如图:

宝塔面板API接口抓取教程-宝塔接口配置文件

 

2.1 XHR

我们需要在控制台选中XHR才会看到接口,如图:

宝塔面板API接口抓取教程-宝塔接口配置文件

 

我们看到的ajax?action=GetTaskCount这种形式的数据都是我们抓取到的APi接口,下面少羽演示一下创建网站的接口获取。

三:创建网站的接口获取

这里我们需要新建一个站点,创建网站->填写网站域名等相关信息->提交,如图:

宝塔面板API接口抓取教程-宝塔接口配置文件

 

这个时候,我们会在XHR中看到此次创建网站传递的参数,如图:

宝塔面板API接口抓取教程-宝塔接口配置文件

 

在切换到Preview选项卡就能看到返回数据,如图:

宝塔面板API接口抓取教程-宝塔接口配置文件

 

这些接口的参数,就不多说了,从命名来看就能看出返回的数据是什么意思了。这样我就知道了API接口和参数。

四:宝塔接口配置文件

整理了一些接口配置文件,如下:

  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 宝塔接口配置文件
  4. // +----------------------------------------------------------------------
  5. $config = array(
  6. # 系统状态相关接口
  7. 'GetSystemTotal' => '/system?action=GetSystemTotal', //获取系统基础统计
  8. 'GetDiskInfo' => '/system?action=GetDiskInfo', //获取磁盘分区信息
  9. 'GetNetWork' => '/system?action=GetNetWork', //获取实时状态信息(CPU、内存、网络、负载)
  10. 'GetTaskCount' => '/ajax?action=GetTaskCount', //检查是否有安装任务
  11. 'UpdatePanel' => '/ajax?action=UpdatePanel', //检查面板更新
  12. # 网站管理相关接口
  13. 'Websites' => '/data?action=getData&table=sites', //获取网站列表
  14. 'Webtypes' => '/site?action=get_site_types', //获取网站分类
  15. 'GetPHPVersion' => '/site?action=GetPHPVersion', //获取已安装的 PHP 版本列表
  16. 'GetSitePHPVersion' => '/site?action=GetSitePHPVersion', //获取指定网站运行的PHP版本
  17. 'SetPHPVersion' => '/site?action=SetPHPVersion', //修改指定网站的PHP版本
  18. 'SetHasPwd' => '/site?action=SetHasPwd', //开启并设置网站密码访问
  19. 'CloseHasPwd' => '/site?action=CloseHasPwd', //关闭网站密码访问
  20. 'GetDirUserINI' => '/site?action=GetDirUserINI', //获取网站几项开关(防跨站、日志、密码访问)
  21. 'WebAddSite' => '/site?action=AddSite', //创建网站
  22. 'WebDeleteSite' => '/site?action=DeleteSite', //删除网站
  23. 'WebSiteStop' => '/site?action=SiteStop', //停用网站
  24. 'WebSiteStart' => '/site?action=SiteStart', //启用网站
  25. 'WebSetEdate' => '/site?action=SetEdate', //设置网站有效期
  26. 'WebSetPs' => '/data?action=setPs&table=sites', //修改网站备注
  27. 'WebBackupList' => '/data?action=getData&table=backup', //获取网站备份列表
  28. 'WebToBackup' => '/site?action=ToBackup', //创建网站备份
  29. 'WebDelBackup' => '/site?action=DelBackup', //删除网站备份
  30. 'WebDoaminList' => '/data?action=getData&table=domain', //获取网站域名列表
  31. 'GetDirBinding' => '/site?action=GetDirBinding', //获取网站域名绑定二级目录信息
  32. 'AddDirBinding' => '/site?action=AddDirBinding', //添加网站子目录域名
  33. 'DelDirBinding' => '/site?action=DelDirBinding', //删除网站绑定子目录
  34. 'GetDirRewrite' => '/site?action=GetDirRewrite', //获取网站子目录伪静态规则
  35. 'WebAddDomain' => '/site?action=AddDomain', //添加网站域名
  36. 'WebDelDomain' => '/site?action=DelDomain', //删除网站域名
  37. 'GetSiteLogs' => '/site?action=GetSiteLogs', //获取网站日志
  38. 'GetSecurity' => '/site?action=GetSecurity', //获取网站盗链状态及规则信息
  39. 'SetSecurity' => '/site?action=SetSecurity', //设置网站盗链状态及规则信息
  40. 'GetSSL' => '/site?action=GetSSL', //获取SSL状态及证书详情
  41. 'HttpToHttps' => '/site?action=HttpToHttps', //强制HTTPS
  42. 'CloseToHttps' => '/site?action=CloseToHttps', //关闭强制HTTPS
  43. 'SetSSL' => '/site?action=SetSSL', //设置SSL证书
  44. 'CloseSSLConf' => '/site?action=CloseSSLConf', //关闭SSL
  45. 'WebGetIndex' => '/site?action=GetIndex', //获取网站默认文件
  46. 'WebSetIndex' => '/site?action=SetIndex', //设置网站默认文件
  47. 'GetLimitNet' => '/site?action=GetLimitNet', //获取网站流量限制信息
  48. 'SetLimitNet' => '/site?action=SetLimitNet', //设置网站流量限制信息
  49. 'CloseLimitNet' => '/site?action=CloseLimitNet', //关闭网站流量限制
  50. 'Get301Status' => '/site?action=Get301Status', //获取网站301重定向信息
  51. 'Set301Status' => '/site?action=Set301Status', //设置网站301重定向信息
  52. 'GetRewriteList' => '/site?action=GetRewriteList', //获取可选的预定义伪静态列表
  53. 'GetFileBody' => '/files?action=GetFileBody', //获取指定预定义伪静态规则内容(获取文件内容)
  54. 'SaveFileBody' => '/files?action=SaveFileBody', //保存伪静态规则内容(保存文件内容)
  55. 'GetProxyList' => '/site?action=GetProxyList', //获取网站反代信息及状态
  56. 'CreateProxy' => '/site?action=CreateProxy', //添加网站反代信息
  57. 'ModifyProxy' => '/site?action=ModifyProxy', //修改网站反代信息
  58. # Ftp管理
  59. 'WebFtpList' => '/data?action=getData&table=ftps', //获取FTP信息列表
  60. 'SetUserPassword' => '/ftp?action=SetUserPassword', //修改FTP账号密码
  61. 'SetStatus' => '/ftp?action=SetStatus', //启用/禁用FTP
  62. # Sql管理
  63. 'WebSqlList' => '/data?action=getData&table=databases', //获取SQL信息列表
  64. 'ResDatabasePass' => '/database?action=ResDatabasePassword', //修改SQL账号密码
  65. 'SQLToBackup' => '/database?action=ToBackup', //创建sql备份
  66. 'SQLDelBackup' => '/database?action=DelBackup', //删除sql备份
  67. 'download' => '/download?filename=', //下载备份文件(目前暂停使用)
  68. # 插件管理
  69. 'deployment' => '/plugin?action=a&name=deployment&s=GetList&type=0', //宝塔一键部署列表
  70. 'SetupPackage' => '/plugin?action=a&name=deployment&s=SetupPackage', //部署任务
  71. );

五:总结

额,有需要的人可以看看,或者想开发宝塔面板第三方插件的可以研究研究,其他的,其实宝塔面板已经足够我们使用了,没必要去折腾了。


点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注