全球主机交流论坛

标题: 利用solusvm api,山寨手机也能随时随地简单管理vps了 [打印本页]

作者: ivv    时间: 2012-2-7 14:27
标题: 利用solusvm api,山寨手机也能随时随地简单管理vps了
本帖最后由 ivv 于 2012-2-7 14:41 编辑

原文地址:http://dao.daimaku.com/post/view/id/171

我的手机和原作者差不多,只能打开简单的页面,下面源码我仅仅增加了一个关闭vps,其他源码与原作者代码一致

论坛搜了一圈,没找贴有完整代码的帖子,所以贴一份代码,希望能帮到和我手机一样烂的网友

注:我这里文件名为buyvm-control.php,代码请根据自己实际情况修改
  1. <?php
  2. ini_set('display_errors', 1);
  3. error_reporting(E_ALL ^ E_NOTICE);

  4. if (!empty($_GET['action'])) {
  5.     $action = $_GET['action'];
  6.     $sure = $_GET['sure'];
  7.     if ('boot' == $action && empty($sure)) {
  8.         echo '您确定要启动VPS吗?<a href="buyvm-control.php?action=boot&sure=1">确定</a>';
  9.     } elseif ('reboot' == $action && empty($sure)) {
  10.         echo '您确定要重新启动VPS吗?<a href="buyvm-control.php?action=reboot&sure=1">确定</a>';
  11.         } elseif ('shutdown' == $action && empty($sure)) {
  12.                 echo '您确定要关闭VPS吗?<a href="buyvm-control.php?action=shutdown&sure=1">确定</a>';

  13.     } elseif ($action != 'status' && $action != 'boot' && $action != 'reboot' && $action != 'shutdown') {
  14.         echo "操作错误!";
  15.     } else {
  16.         $key = "控制面板处获取";
  17.         $hash = "控制面板处获取";

  18.         //控制面板地址
  19.         $url = "https://manage.buyvm.net/api/client/command.php?key=$key&hash=$hash&action=$action";
  20.         $data = file_get_contents($url);

  21.         // Parse the returned data and build an array

  22.         preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $match);
  23.         $result = array();
  24.         foreach ($match[1] as $x => $y) {
  25.             $result[$y] = $match[2][$x];
  26.         }

  27.         //错误信息
  28.         if ($result["status"] == "error") {
  29.             echo $result["statusmsg"];
  30.         } elseif ($result["status"] == "success") {
  31.             if ($result["statusmsg"] == "online") {
  32.                 echo "The virtual server is online!";
  33.             } elseif ($result["statusmsg"] == "offline") {
  34.                 echo "The virtual server is offline!";
  35.             } elseif ($result["statusmsg"] == "rebooted") {
  36.                 echo "The virtual server has been rebooted!";
  37.             } elseif ($result["statusmsg"] == "shutdown") {
  38.                 echo "The virtual server has been shutdown!";
  39.             } elseif ($result["statusmsg"] == "booted") {
  40.                 echo "The virtual server has been booted!";
  41.             } else {
  42.                 echo "Status message unknown!";
  43.             }
  44.         }
  45.     }
  46.     echo '<hr>';
  47. }
  48. ?>
  49. <html>
  50. <head>
  51. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  52. <title>VPS管理-BuyVM</title>
  53. </head>
  54. <body>
  55. <ul>
  56. <li><a href="buyvm-control.php?action=status">查看状态</a> </li>
  57. <li><a href="buyvm-control.php?action=shutdown">关闭VPS</a> </li>
  58. <li><a href="buyvm-control.php?action=boot">启动VPS</a> </li>
  59. <li><a href="buyvm-control.php?action=reboot">重启VPS</a></li>
  60. </ul>
  61. </body>
  62. </html>
复制代码

作者: edmin    时间: 2012-2-7 14:28
这个页面。。被知道的话。。。。
作者: ivv    时间: 2012-2-7 14:36
edmin 发表于 2012-2-7 14:28
这个页面。。被知道的话。。。。

我放在sae = =!!   隐藏的深一点就好了
作者: 用户名    时间: 2012-2-7 14:37
这个太牛逼了
作者: chaoren521    时间: 2012-2-7 14:44
很强大
作者: 白日梦    时间: 2012-2-7 14:47
Mark 一下
作者: wr浅唱    时间: 2012-2-7 14:47
要藏好
作者: 勇少    时间: 2012-2-7 14:49
就购买那次进下 其他时间都不用进控制面板
作者: nomaka    时间: 2012-2-7 14:49
edmin 发表于 2012-2-7 14:28
这个页面。。被知道的话。。。。

自己 加个 登陆界面 不就好了么.........
作者: Kvm    时间: 2012-2-7 14:49
我用asp的 写了一堆 。。。。。
最后烦透了代码 就没写了。。。。。
作者: wdlth    时间: 2012-2-7 15:23
就是一个链接,我用短网址解决了。
作者: qdmz    时间: 2012-2-7 15:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: ivv    时间: 2012-2-7 15:53
qdmz 发表于 2012-2-7 15:27
技术贴呀   没有buyvm 的vps可以使用吗

solusvm就行
作者: qdmz    时间: 2012-2-7 16:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: UCVPS    时间: 2012-2-7 22:00
qdmz 发表于 2012-2-7 16:40
如在前面部分再加一个登录验证更好了

<form action="https://<MASTER IP>:5656/api/client/command.php" action="post">
    <input type="hidden" name="key" value="API-KEY-HERE">
    <input type="hidden" name="hash" value="exaMpleHasH">
   
    <input type="submit" value="Send" />
</form>  
作者: light    时间: 2012-2-7 22:02
就购买和续费进去面板,其他时间都不进
作者: gamecreating    时间: 2012-2-7 22:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: SalesHosting    时间: 2012-2-8 12:55
ivv 发表于 2012-2-7 14:36
我放在sae = =!!   隐藏的深一点就好了

SAE可以设置简单认证的。。。。在AppConfig里面,这样问题不就小多了。
作者: SalesHosting    时间: 2012-2-8 12:59
作者在代码里面本来就定义了关机,只不过没有在视图部分呈现出来而已。
作者: ivv    时间: 2012-2-8 13:03
SalesHosting 发表于 2012-2-8 12:59
作者在代码里面本来就定义了关机,只不过没有在视图部分呈现出来而已。

那一段应该是作者直接在wiki copy来的,原本并没有定义关机
作者: 熊总    时间: 2012-2-8 13:03
burst没有这样的吗
作者: ivv    时间: 2012-2-8 13:04
SalesHosting 发表于 2012-2-8 12:55
SAE可以设置简单认证的。。。。在AppConfig里面,这样问题不就小多了。

谢谢,我试试去
作者: SalesHosting    时间: 2012-2-8 13:04
ivv 发表于 2012-2-8 13:03
那一段应该是作者直接在wiki copy来的,原本并没有定义关机

是的,这个我以前就看到了,尤其是处理返回信息的那一段,直接从帮助文档里面复制的。
作者: ivv    时间: 2012-2-8 13:08
熊总 发表于 2012-2-8 13:03
burst没有这样的吗

看看有木有有api呗  有的话去搜搜文档 看看怎么用




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