我们在使用宝塔面板的的时候,如果需要用PHP来操作一些API接口,那么肯定需要知道一些功能的API接口的数据,虽然官方文档也写了一些,但是写的很粗线条。
所以我们有时候需要自己抓取API接口数据,那么宝塔面板如何抓取呢,或者我们想要知道新建网站的这个动作的API的接口数据应该怎么抓取呢,今天这篇文章大鸟简单说说。
一:登录面板
额,这个不需要多说,我们需要登录自己的宝塔面板来操作。登录之后需要配置面板API,如图:
二:找到自己需要的功能
这里少羽以新建网站为例,来抓取这个接口。额,少羽这里用的是chrome浏览器,我们按F12打开审查元素(控制台)切换到Network选项卡,如图:
2.1 XHR
我们需要在控制台选中XHR才会看到接口,如图:
我们看到的ajax?action=GetTaskCount
这种形式的数据都是我们抓取到的APi接口,下面少羽演示一下创建网站的接口获取。
三:创建网站的接口获取
这里我们需要新建一个站点,创建网站->填写网站域名等相关信息->提交,如图:
这个时候,我们会在XHR中看到此次创建网站传递的参数,如图:
在切换到Preview选项卡就能看到返回数据,如图:
这些接口的参数,就不多说了,从命名来看就能看出返回的数据是什么意思了。这样我就知道了API接口和参数。
四:宝塔接口配置文件
整理了一些接口配置文件,如下:
- <?php
- // +----------------------------------------------------------------------
- // | 宝塔接口配置文件
- // +----------------------------------------------------------------------
- $config = array(
- # 系统状态相关接口
- 'GetSystemTotal' => '/system?action=GetSystemTotal', //获取系统基础统计
- 'GetDiskInfo' => '/system?action=GetDiskInfo', //获取磁盘分区信息
- 'GetNetWork' => '/system?action=GetNetWork', //获取实时状态信息(CPU、内存、网络、负载)
- 'GetTaskCount' => '/ajax?action=GetTaskCount', //检查是否有安装任务
- 'UpdatePanel' => '/ajax?action=UpdatePanel', //检查面板更新
- # 网站管理相关接口
- 'Websites' => '/data?action=getData&table=sites', //获取网站列表
- 'Webtypes' => '/site?action=get_site_types', //获取网站分类
- 'GetPHPVersion' => '/site?action=GetPHPVersion', //获取已安装的 PHP 版本列表
- 'GetSitePHPVersion' => '/site?action=GetSitePHPVersion', //获取指定网站运行的PHP版本
- 'SetPHPVersion' => '/site?action=SetPHPVersion', //修改指定网站的PHP版本
- 'SetHasPwd' => '/site?action=SetHasPwd', //开启并设置网站密码访问
- 'CloseHasPwd' => '/site?action=CloseHasPwd', //关闭网站密码访问
- 'GetDirUserINI' => '/site?action=GetDirUserINI', //获取网站几项开关(防跨站、日志、密码访问)
- 'WebAddSite' => '/site?action=AddSite', //创建网站
- 'WebDeleteSite' => '/site?action=DeleteSite', //删除网站
- 'WebSiteStop' => '/site?action=SiteStop', //停用网站
- 'WebSiteStart' => '/site?action=SiteStart', //启用网站
- 'WebSetEdate' => '/site?action=SetEdate', //设置网站有效期
- 'WebSetPs' => '/data?action=setPs&table=sites', //修改网站备注
- 'WebBackupList' => '/data?action=getData&table=backup', //获取网站备份列表
- 'WebToBackup' => '/site?action=ToBackup', //创建网站备份
- 'WebDelBackup' => '/site?action=DelBackup', //删除网站备份
- 'WebDoaminList' => '/data?action=getData&table=domain', //获取网站域名列表
- 'GetDirBinding' => '/site?action=GetDirBinding', //获取网站域名绑定二级目录信息
- 'AddDirBinding' => '/site?action=AddDirBinding', //添加网站子目录域名
- 'DelDirBinding' => '/site?action=DelDirBinding', //删除网站绑定子目录
- 'GetDirRewrite' => '/site?action=GetDirRewrite', //获取网站子目录伪静态规则
- 'WebAddDomain' => '/site?action=AddDomain', //添加网站域名
- 'WebDelDomain' => '/site?action=DelDomain', //删除网站域名
- 'GetSiteLogs' => '/site?action=GetSiteLogs', //获取网站日志
- 'GetSecurity' => '/site?action=GetSecurity', //获取网站盗链状态及规则信息
- 'SetSecurity' => '/site?action=SetSecurity', //设置网站盗链状态及规则信息
- 'GetSSL' => '/site?action=GetSSL', //获取SSL状态及证书详情
- 'HttpToHttps' => '/site?action=HttpToHttps', //强制HTTPS
- 'CloseToHttps' => '/site?action=CloseToHttps', //关闭强制HTTPS
- 'SetSSL' => '/site?action=SetSSL', //设置SSL证书
- 'CloseSSLConf' => '/site?action=CloseSSLConf', //关闭SSL
- 'WebGetIndex' => '/site?action=GetIndex', //获取网站默认文件
- 'WebSetIndex' => '/site?action=SetIndex', //设置网站默认文件
- 'GetLimitNet' => '/site?action=GetLimitNet', //获取网站流量限制信息
- 'SetLimitNet' => '/site?action=SetLimitNet', //设置网站流量限制信息
- 'CloseLimitNet' => '/site?action=CloseLimitNet', //关闭网站流量限制
- 'Get301Status' => '/site?action=Get301Status', //获取网站301重定向信息
- 'Set301Status' => '/site?action=Set301Status', //设置网站301重定向信息
- 'GetRewriteList' => '/site?action=GetRewriteList', //获取可选的预定义伪静态列表
- 'GetFileBody' => '/files?action=GetFileBody', //获取指定预定义伪静态规则内容(获取文件内容)
- 'SaveFileBody' => '/files?action=SaveFileBody', //保存伪静态规则内容(保存文件内容)
- 'GetProxyList' => '/site?action=GetProxyList', //获取网站反代信息及状态
- 'CreateProxy' => '/site?action=CreateProxy', //添加网站反代信息
- 'ModifyProxy' => '/site?action=ModifyProxy', //修改网站反代信息
- # Ftp管理
- 'WebFtpList' => '/data?action=getData&table=ftps', //获取FTP信息列表
- 'SetUserPassword' => '/ftp?action=SetUserPassword', //修改FTP账号密码
- 'SetStatus' => '/ftp?action=SetStatus', //启用/禁用FTP
- # Sql管理
- 'WebSqlList' => '/data?action=getData&table=databases', //获取SQL信息列表
- 'ResDatabasePass' => '/database?action=ResDatabasePassword', //修改SQL账号密码
- 'SQLToBackup' => '/database?action=ToBackup', //创建sql备份
- 'SQLDelBackup' => '/database?action=DelBackup', //删除sql备份
- 'download' => '/download?filename=', //下载备份文件(目前暂停使用)
- # 插件管理
- 'deployment' => '/plugin?action=a&name=deployment&s=GetList&type=0', //宝塔一键部署列表
- 'SetupPackage' => '/plugin?action=a&name=deployment&s=SetupPackage', //部署任务
- );
五:总结
额,有需要的人可以看看,或者想开发宝塔面板第三方插件的可以研究研究,其他的,其实宝塔面板已经足够我们使用了,没必要去折腾了。