关于bthost
btHost(btai.cc)是一款基于宝塔面板开发的一款用于独立控制
和虚拟主机管理
的程序,具有丰富的API,强大管理功能,丰富的模块,完整的权限控制,自适配Linux、Windows
版宝塔面板(最新)
使用文档:https://www.kancloud.cn/youngxj/bthost_manual/1926353
api开发文档:https://docs.apipost.cn/view/bad40855d7b411f5#2685899
Api的简单使用
首先就是官方的接口demo
1.公共参数
就像官方所说,公共参数,发起调用时必须存在
请求参数 | 说明 | 值 | 请求方式 |
---|---|---|---|
time | uinx当前时间戳 | 1598500617 | get、post |
random | 随机字符串,每次请求时随机生成 | SPZJoB | get、post |
signature | 签名,请查看下文签名生成方法 | A2F18OXO6UEYS4FSHEP8Q3PLR9OZ4N0Z | get、post |
2.请求示例(其中signature值为签名,签名方法具体看第四步)
https://bthost.yum6.cn/api/vhost/index?time=1598500617&random=SPZJoB&signature=A2F18OXO6UEYS4FSHEP8Q3PLR9OZ4N0Z
3.后台令牌设置
4.签名方法
PHP示例
$data['time'] = time();
$data['random'] = mt_rand();
$data['token'] = $access_token; //API通信密钥 自行配置的令牌,不清楚可看概述章节。
sort($data,SORT_STRING);
$str = implode($data);
$signature = md5($str);
$signature = strtoupper($signature); //最终得到加密后全大写的签名
PHP demo
<?php
$api = 'https://bthost.yum6.cn/api/vhost'; // API地址,bthost.yum6.cn替换自己的域名或IP
$access_token = '55744dsadasd'; // API通信密钥 自行配置的令牌,不清楚可看概述章节。
$data['time'] = time();
$data['random'] = mt_rand();
$data['token'] = $access_token;
$datas = $data;
sort($data, SORT_STRING);
$str = implode($data);
$signature = md5($str);
$signature = strtoupper($signature);
unset($datas['token']); // 安全起见,不传递token参数
$get_data = http_build_query($datas);
$url = $api. '/index?'. $get_data. '&signature='.$signature;
echo file_get_contents($url);
js请求demo
function timest() {
var tmp = Date.parse( new Date() ).toString();
tmp = tmp.substr(0,10);
return tmp;
}
function randomString(e) {
e = e || 32;
var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
a = t.length,
n = "";
for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));
return n;
}
function implode (glue, pieces) {
var i = '',
retVal = '',
tGlue = '';
if (arguments.length === 1) {
pieces = glue;
glue = '';
}
if (typeof pieces === 'object') {
if (Object.prototype.toString.call(pieces) === '[object Array]') {
return pieces.join(glue);
}
for (i in pieces) {
retVal += tGlue + pieces[i];
tGlue = glue;
}
return retVal;
}
return pieces;
}
$timesss = timest(); // 时间戳
$randdddd = randomString(6); // 随机字符
$acctoken = '0VWx31Gd2kc5'; // API通信密钥 自行配置的令牌,不清楚可看概述章节。
$data = [$timesss,$randdddd,$acctoken];
$data.sort();
$str = implode($data);
$signature = $.md5($str);
$signature = $signature.toUpperCase(); //最终得到加密后全大写的签名
python请求Demo
import requests
import time
import random
import hashlib
def bt_api():
t=int(time.time())
r1=random.sample('ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678',6)
r=r1[0]+r1[1]+r1[2]+r1[3]+r1[4]+r1[5]#随机数
token='API通信密钥 自行配置的令牌'
m=m=str(t)+str(r)+str(token)
m1 = hashlib.md5()
m1.update(m.encode(encoding='utf-8'))
m2=m1.hexdigest().upper() #得到的签名
url='https://bthost.yum6.cn/api/vhost/index?time='+str(t)+'&random='+r+'&signature='+m2
res=requests.get(url).text
print(res)
bt_api()
© 版权声明
THE END
暂无评论内容