全球主机交流论坛

标题: 前阵子有问hostus有没有API可以调用的问题解决了 [打印本页]

作者: onlyxuyang    时间: 2015-10-25 22:56
标题: 前阵子有问hostus有没有API可以调用的问题解决了
小弟的小站是纯流量站,所以要关注各个小鸡的流量情况,在耗完的时候及时下线。
SolusVm的直接有API可以调用,拿起来比较简单,
如下就可以拿到结果字串然后自己解析结果
params = {"key":self.key,"hash":self.hash,"action":"status","bw":"true"}
r=requests.get(self.url+"/api/client/command.php",params=params)

但是hostus没有rest api接口可以用,小弟研究了一下,发现可以模拟登录以后跳转到机器页面然后扒页面结果,
sample code如下:
ses = requests.Session()
r = ses.post("https://my.hostus.us/dologin.php",data={"username":self.username,"password":self.password})
r = ses.get(self.url) # self.url是你看vps control panel的地址,地址类似https://my.hostus.us/clientarea. ... &a=hostusopenvz
这样就拿到vps control panel的页面了,页面上有显示bandwidth的情况,
然后用正则扒bandwidth情况:
parser = re.compile(r'<div style="margin-top:-15px"><b>(.*) \(.*%\) used</b> / (.*) total</div>')
res = parser.search(r.text)
(res.group(1),res.group(2))就能拿到used情况和max情况了...

抛砖引玉,大家轻拍....
作者: kissbabe    时间: 2015-10-25 23:05
感谢楼主分享
作者: 潇洒哥er    时间: 2015-10-25 23:15
干货啊,先马克一下
作者: rongdede    时间: 2015-10-26 01:49
牛逼
作者: loveminds    时间: 2015-10-26 07:10
在耗完的时候及时下线,这应该是DNS或者LoadBalancer/nginx做的事吧
作者: ingress    时间: 2015-10-26 07:31
不错的想法
作者: moker    时间: 2015-10-26 07:59
这个略屌
作者: uuis    时间: 2015-10-26 09:07
高手
作者: onlyxuyang    时间: 2015-10-26 18:43
loveminds 发表于 2015-10-26 07:10
在耗完的时候及时下线,这应该是DNS或者LoadBalancer/nginx做的事吧

我是一个前端接收用户访问,然后分派到不同机器的后端做处理…… 后端并不是网站……




欢迎光临 全球主机交流论坛 (https://hostloc.onozo.cc/) Powered by Discuz! X3.4