全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1883|回复: 8
打印 上一主题 下一主题

[翻译] 前阵子有问hostus有没有API可以调用的问题解决了

[复制链接]
跳转到指定楼层
1#
发表于 2015-10-25 22:56:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟的小站是纯流量站,所以要关注各个小鸡的流量情况,在耗完的时候及时下线。
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情况了...

抛砖引玉,大家轻拍....

评分

参与人数 1威望 +25 收起 理由
我是人 + 25 赞一个!

查看全部评分

2#
发表于 2015-10-25 23:05:27 | 只看该作者
感谢楼主分享
3#
发表于 2015-10-25 23:15:24 来自手机 | 只看该作者
干货啊,先马克一下
5#
发表于 2015-10-26 07:10:43 | 只看该作者
在耗完的时候及时下线,这应该是DNS或者LoadBalancer/nginx做的事吧
6#
发表于 2015-10-26 07:31:30 来自手机 | 只看该作者
不错的想法
9#
 楼主| 发表于 2015-10-26 18:43:47 来自手机 | 只看该作者
loveminds 发表于 2015-10-26 07:10
在耗完的时候及时下线,这应该是DNS或者LoadBalancer/nginx做的事吧

我是一个前端接收用户访问,然后分派到不同机器的后端做处理…… 后端并不是网站……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-7-8 19:20 , Processed in 0.063644 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表