通过网站连接到 Nagios Api
Connecting to Nagios Api via Website
我正在尝试通过网站连接到我的 Nagios 服务器以显示 Nagios 服务器上主机的状态。
我有 运行 curl 命令,我收到了 json 响应并且它有效。但是现在,当我尝试连接网络应用程序时,它 jQuery 给我一个 GET 401 未经授权的错误。
jquery-3.1.0.js:9392 GET http://41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none 401 (Unauthorized)
send @ jquery-3.1.0.js:9392
ajax @ jquery-3.1.0.js:8999
getData @ myJavaAng.js:187
(anonymous function) @ myJavaAng.js:203
我的代码:
function getData() {
var name, code;
var serviceURL = "http://test:welcome@41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none";
$.support.cors = true;
$.ajax({
type: "GET",
dataType: "json",
crossDomain: true,
url: serviceURL,
success: function(data) {
alert(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(errorThrown);
}
});
}
请让我知道我做错了什么。
这是写给和我有同样问题的人的。
nagios 服务器不接受我用来连接 API 的 Javascript 或 jQuery。这是因为同源策略。
这是一个简单的 PHP 脚本,它可以做同样的事情。
<?php
$url = 'http://test:welcome@41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none';
$obj = json_decode(file_get_contents($url), true);
print_r($obj);
?>
希望这对遇到同样问题的人有所帮助。
我正在尝试通过网站连接到我的 Nagios 服务器以显示 Nagios 服务器上主机的状态。
我有 运行 curl 命令,我收到了 json 响应并且它有效。但是现在,当我尝试连接网络应用程序时,它 jQuery 给我一个 GET 401 未经授权的错误。
jquery-3.1.0.js:9392 GET http://41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none 401 (Unauthorized)
send @ jquery-3.1.0.js:9392
ajax @ jquery-3.1.0.js:8999
getData @ myJavaAng.js:187
(anonymous function) @ myJavaAng.js:203
我的代码:
function getData() {
var name, code;
var serviceURL = "http://test:welcome@41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none";
$.support.cors = true;
$.ajax({
type: "GET",
dataType: "json",
crossDomain: true,
url: serviceURL,
success: function(data) {
alert(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(errorThrown);
}
});
}
请让我知道我做错了什么。
这是写给和我有同样问题的人的。
nagios 服务器不接受我用来连接 API 的 Javascript 或 jQuery。这是因为同源策略。
这是一个简单的 PHP 脚本,它可以做同样的事情。
<?php
$url = 'http://test:welcome@41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none';
$obj = json_decode(file_get_contents($url), true);
print_r($obj);
?>
希望这对遇到同样问题的人有所帮助。