黑狼 发表于 2018-2-24 14:44:10

HLP-API文档

HLPanel已大部分二开Easypanel以下为通用接口文档
API接口地址
因HLPanel自动绑定侦听了3312端口并加了泛绑定。
所以用IP或者解析到了服务器IP的域名都可以。
url如下:

http://服务器IP地址(或域名):3312/api/index.php
API接口权限验证
每发送一条API调用,必需带的参数有:

[*]c : (control)表示哪个控制文件(目前有whm,cdn)
[*]a : (action)表示哪个方法,以下介绍
[*]r : 随机数
[*]s : 秘钥,通过md5(a + skey +r)得到,如a=add,skey=test,r=888,则s=md5(addtest888)
[*]【其中skey是服务器安全码】


http://127.0.0.1:3312/api/index.php?c=whm&a=add&r=888&s=8e4fc6f181bedf11c64bac3bf341ca6
如果验证s不通过,你会得到以下的返回

{"result":403,"msg":"\u6743\u9650\u9519\u8bef,\u8bf7\u68c0\u67e5\u901a
\u4fe1\u5b89\u5168\u7801\u662f\u5426\u6b63\u786e"}
接口的返回数据
如果接口加了json=1参数过来,你将得到json数据。如果没有,将得到xml数据。
友情提示:请最好带json=1参数过来。以后的接口默认情况下考虑输出json。
获取HLPanel的信息(包括了kangle的信息)
参数名称 参数内容
c whm
a info


调用成功后你将得到如下返回数据:
{"result":200,"server":[{"0":"kangle"}],"version":[{"0":"3.4.8"}],"type":[{"0":"enterprise"}],"os":[{"0":"windows"}],"license_id":[{"0":"73646_1387957818"}],"license_name":[{"0":"dsdds"}],"total_run":[{"0":"611038"}],"connect":[{"0":"4"}],"request":[{"0":"14105"}],"accept":[{"0":"4722"}],"vh":[{"0":"43"}],"kangle_home":[{"0":"D:\\\easypanel\\"}],"update_code":[{"0":"win_x64"}],"versions":"1.2.7"}


参数名称 参数说明
result 200【表示调用成功】
version Kangle的版本
type Kangle的商业版还是免费版【enterpriseor free】
total_run 运行时间
vh 虚拟主机数量
connect 当前有多少请求进来
versions HLP的版本



获取站点的信息

参数名称 参数内容
c whm
a getVh
name (虚拟主机名称)


如果有这个站点,则返回:


{"result":200,"name":"asdf","doc_root":"D:\/home\/ftp\/a\/asdf","uid":"a1017","gid":"K~w_dSjgZe9MVqb",
"module":"php","templete":"easypanel","subtemplete":null,"create_time":"1444195060","expire_time2":0,
"status":0,"subdir_flag":"1","subdir":"wwwroot","web_quota":"1000","db_quota":"0","domain":"-1",
"htaccess":".htaccess","max_connect":"0","max_worker":"8","max_queue":"0","ftp":"1",
"log_file":"logs\/access.log","access":"access.xml","db_name":"asdf","speed_limit":"0",
"product_id":"0","envs":"","cs":0,"cdn":"0","ext_passwd":0,"db_type":"mysql","log_handle":"1",
"max_subdir":"0","flow":"0","sync_seq":0,"flow_limit":"0","ftp_connect":"0","ftp_usl":"0",
"ftp_dsl":"0","ip":"","port":"","certificate":null,"certificate_key":null,"ftp_subdir":null,
"last_password_error":"'''0'''","password_error_count":"'''0'''","password_security":null,"ssi":"1",
"ignore_backup":"0","cron":"0","recordid":"10001"}



如果没有该站点返回参数


{"result":500}



参数名称参数说明
name主机名称
doc_root主机的主目录
uid
系统生成(用户在服务器上的账户ID),【权限控制使用。不可更改。】

gid系统账户组ID
module是属于哪个模块,目前有php和iis两个模块。【templete,subtemplete,已废弃】
create_time创建时间
expire_time2过期时间
status站点状态【0正常,1为关闭】
subdir_flag是否允许子域名【1为允许,0为不允许】
subdir默认子目录名称
web_quota空间大小
db_quota数据库大小
domain允许绑定域名数量【-1为不限】
max_connect最多连接数
max_worker最多工作者
ftp是否开通FTP【1为开通,0为不开通】
db_name数据库名称【一般和主机名称等同,sql server 特殊


获取站点列表

参数名称参数内容
cwhm
alistVh

如果成功,则返回:


{"result":200,站点信息}


如果没有则返回参数

{"result":500}





心仪云 发表于 2018-11-18 03:31:43

如果更新提前通知做准备写对接插件。

黑狼 发表于 2018-11-21 20:33:08

心仪云 发表于 2018-11-18 03:31
如果更新提前通知做准备写对接插件。

可以的
页: [1]
查看完整版本: HLP-API文档