我希望从 UPS 的 Web 管理界面中提取状态字段,以便可以在我正在编写的另一个 Web 应用程序中使用数据。我想知道是否有人知道解决这个问题的方法,因为我似乎无法通过网络搜索找到我正在寻找的信息。 Id 还需要它的值来刷新或重新检查。下面的 UPS Web 界面示例首先查看在线字段:
最佳答案
这是一个非常基本的示例,我尚未测试(未安装 php)。
您需要查看控制面板的源代码,并了解如何识别包含所需信息的元素。
下面的代码(希望)搜索具有 id server-status
的元素(如果该元素存在),然后检查其 class
属性以确定服务器的状态.
你不必使用dom
东西,你也可以使用正则表达式或其他东西来做到这一点。只要您能准确找到您需要的信息即可。
您可能还需要使用 cURL 或比 file_get_contents()
更高级的东西,因为您可能需要登录凭据才能查看相关页面。
<?php
$html = file_get_contents("http://path.to/your/control.panel");
// you may need to use cURL or something more advanced if you need to provide login credentials
$dom = new DOMDocument;
$dom->loadHTML($html);
$test = $dom->getElementById('server-status');
if ($test == NULL) {
// unable to find element, somethings up!
} else {
if ($test->getAttribute('class') == "online") {
// status element has "online" class, server is online
} else {
// status element does not have "online" class, somethings up!
}
}
?>
更新
快速浏览了该管理软件的演示,它不会像我的示例那么简单,因为似乎没有任何有用的元素 id
或 class
名称。不过它仍然可行。
关于php - 从Web管理界面提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339315/