DCIM API 文档
智简魔方 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;可通过 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;
}