智简魔方 DCIM 向用户开放所有功能操作相关的 API。我们的 API 是通过 HTTPS POST 方式来调用的。
API 公共请求地址为服务器管理系统地址,具体地址见各个API文档说明。API请求时需携带API用户名以及密码,用于验证身份,API账户需要在对应的IP上使用。
API 公共参数
公共参数是所有 API 请求都必需的参数。
注解:为减少内容重复,公共参数就不在各 API 详情中列出。
字段名 | 变量名 | 必填 | 类型 | 描述 |
---|---|---|---|---|
API用户名 | username | 是 | string | API用户名,用于验证身份 |
API密码 | password | 是 | string | API密码,用于验证身份 |
PHP示例参照范文
<?php
//获取服务器电源状态
$host = "https://192.168.10.71"; //dcim地址
$action = "ipmiPowerSync"; //需要调用的api方法
$url = $host."/index.php?m=api&a=".$action; //拼接地址
$data = ["username"=>"test", "password"=>"testapi", "id"=>4]; //api需要传递的参数,username以及password必带,ipmiPowerSync需要传递id参数
$result = curl_post($url, $data, 30); //curl调用api
$result = json_decode($result, true); //返回值从json转数组
print_r($result); //输出返回值
function curl_post($url, $data, $timeout = 30) {
if (!$url) return false;
if ($data) {
$data = http_build_query($data);
}
$ssl = substr($url, 0, 8) == 'https://' ? true : false;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
if ($ssl) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
}
curl_setopt($curl, CURLOPT_HEADER, 0); //启用时会将头文件的信息作为数据流输出。
curl_setopt($curl, CURLOPT_POST, true); //发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);//Post提交的数据包
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); //启用时会将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //文件流形式
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //设置cURL允许执行的最长秒数。
$content = curl_exec($curl);
$curl_errno = curl_errno($curl);
curl_close($curl);
if ($curl_errno > 0) {
return false;
}
return $content;
}