[comment]: # ({37c3aad7-37c3aad7})
# 获取

[comment]: # ({/37c3aad7-37c3aad7})

[comment]: # ({a1812e61-1309d6bb})
### 描述

`integer/array dhost.get(object parameters)`

这个方法允许根据给定的参数检索发现的主机。

::: noteclassic
任何类型的用户都可以使用此方法。可以在用户角色设置中撤销调用该方法的权限。参见[用户角色](/manual/web_interface/frontend_sections/users/user_roles)了解更多信息。
:::

[comment]: # ({/a1812e61-1309d6bb})

[comment]: # ({5f644960-061d7cf0})
### 参数

`(object)` 定义所需输出的参数。

该方法支持以下参数。

|参数|[类型](/manual/api/reference_commentary#data-types)|说明|
|--|--|------|
|dhostids|ID/array|仅返回具有给定 ID 的已发现主机。|
|druleids|ID/array|仅返回由给定发现规则创建的已发现主机。|
|dserviceids|ID/array|仅返回正在运行给定服务的已发现主机。|
|selectDRules|query|返回 [`drules`](/manual/api/reference/drule/object) 属性，其中包含检测到该主机的发现规则数组。|
|selectDServices|query|返回 [`dservices`](/manual/api/reference/dservice/object) 属性，其中包含在该主机上运行的已发现服务。<br><br>支持 `count`。|
|limitSelects|integer|限制子选择返回的记录数。<br><br>适用于以下子选择：<br>`selectDServices` - 结果将按 `dserviceid` 排序。|
|sortfield|string/array|按给定属性对结果进行排序。<br><br>可能的值：`dhostid`、`druleid`。|
|countOutput|boolean|这些参数在[参考说明](/manual/api/reference_commentary#common-get-method-parameters)中进行了说明。|
|editable|boolean|^|
|excludeSearch|boolean|^|
|filter|object|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/5f644960-061d7cf0})

[comment]: # ({7223bab1-7223bab1})
### 返回值

`(integer/array)` 返回其中一种结果：

-   一个对象数组；
-   如果使用了参数`countOutput`，则返回检索到的对象的数量。

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### 示例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({c08efc78-4b9c1e99})
#### 通过发现规则检索发现的主机

检索发现规则"4"检测到的所有主机及其正在运行的已发现服务。

[请求](/manual/api#执行请求)：

```json
{
    "jsonrpc": "2.0",
    "method": "dhost.get",
    "params": {
        "output": "extend",
        "selectDServices": "extend",
        "druleids": "4"
    },
    "id": 1
}
```

响应：

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "dservices": [
                {
                    "dserviceid": "1",
                    "dhostid": "1",
                    "type": "4",
                    "key_": "",
                    "value": "",
                    "port": "80",
                    "status": "0",
                    "lastup": "1337697227",
                    "lastdown": "0",
                    "dcheckid": "5",
                    "ip": "192.168.1.1",
                    "dns": "station.company.lan"
                }
            ],
            "dhostid": "1",
            "druleid": "4",
            "status": "0",
            "lastup": "1337697227",
            "lastdown": "0"
        },
        {
            "dservices": [
                {
                    "dserviceid": "2",
                    "dhostid": "2",
                    "type": "4",
                    "key_": "",
                    "value": "",
                    "port": "80",
                    "status": "0",
                    "lastup": "1337697234",
                    "lastdown": "0",
                    "dcheckid": "5",
                    "ip": "192.168.1.4",
                    "dns": "john.company.lan"
                }
            ],
            "dhostid": "2",
            "druleid": "4",
            "status": "0",
            "lastup": "1337697234",
            "lastdown": "0"
        },
        {
            "dservices": [
                {
                    "dserviceid": "3",
                    "dhostid": "3",
                    "type": "4",
                    "key_": "",
                    "value": "",
                    "port": "80",
                    "status": "0",
                    "lastup": "1337697234",
                    "lastdown": "0",
                    "dcheckid": "5",
                    "ip": "192.168.1.26",
                    "dns": "printer.company.lan"
                }
            ],
            "dhostid": "3",
            "druleid": "4",
            "status": "0",
            "lastup": "1337697234",
            "lastdown": "0"
        },
        {
            "dservices": [
                {
                    "dserviceid": "4",
                    "dhostid": "4",
                    "type": "4",
                    "key_": "",
                    "value": "",
                    "port": "80",
                    "status": "0",
                    "lastup": "1337697234",
                    "lastdown": "0",
                    "dcheckid": "5",
                    "ip": "192.168.1.7",
                    "dns": "mail.company.lan"
                }
            ],
            "dhostid": "4",
            "druleid": "4",
            "status": "0",
            "lastup": "1337697234",
            "lastdown": "0"
        }
    ],
    "id": 1
}
```

[comment]: # ({/c08efc78-4b9c1e99})

[comment]: # ({184a9e84-e6b09247})
### 另请参阅

-   [已发现的服务](/manual/api/reference/dservice/object#discovered-service)
-   [发现规则](/manual/api/reference/drule/object#discovery-rule)

[comment]: # ({/184a9e84-e6b09247})

[comment]: # ({8dc0c01a-8dc0c01a})
### 来源

*ui/include/classes/api/services/CDHost.php* 中的 CDHost::get()。

[comment]: # ({/8dc0c01a-8dc0c01a})
