我们在使用宝塔面板的的时候,如果需要用PHP来操作一些API接口,那么肯定需要知道一些功能的API接口的数据,虽然官方文档也写了一些,但是写的很粗线条。
所以我们有时候需要自己抓取API接口数据,那么宝塔面板如何抓取呢,或者我们想要知道新建网站的这个动作的API的接口数据应该怎么抓取呢,今天这篇文章大鸟简单说说。
一:登录面板
额,这个不需要多说,我们需要登录自己的宝塔面板来操作。登录之后需要配置面板API,如图:
二:找到自己需要的功能
这里大鸟以新建网站为例,来抓取这个接口。额,大鸟这里用的是chrome浏览器,我们按F12打开审查元素(控制台)切换到Network选项卡,如图:
2.1 XHR
我们需要在控制台选中XHR才会看到接口,如图:
我们看到的[code]ajax?action=GetTaskCount[/code]这种形式的数据都是我们抓取到的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', //部署任务 );
五:总结
额,有需要的人可以看看,或者想开发宝塔面板第三方插件的可以研究研究,其他的,其实宝塔面板已经足够我们使用了,没必要去折腾了。