[comment]: # ({30b4a228-30b4a228})
# dservice.get

[comment]: # ({/30b4a228-30b4a228})

[comment]: # ({93275110-84c200be})
### 描述

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

该方法允许根据给定的参数检索已发现的服务。

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

[comment]: # ({/93275110-84c200be})

[comment]: # ({bc4bd8fa-cdd07a5d})
### 参数

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

该方法支持以下参数。

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|dserviceids|ID/array|仅返回具有给定 ID 的已发现服务。|
|dhostids|ID/array|仅返回属于给定已发现主机的已发现服务。|
|dcheckids|ID/array|仅返回由给定发现检查检测到的已发现服务。|
|druleids|ID/array|仅返回由给定发现规则检测到的已发现服务。|
|selectDRules|query|返回一个 [`drules`](/manual/api/reference/drule/object) 属性，其中包含检测到该服务的发现规则数组。|
|selectDHosts|query|返回一个 [`dhosts`](/manual/api/reference/dhost/object) 属性，其中包含该服务所属的已发现主机数组。|
|selectHosts|query|返回一个 [`hosts`](/manual/api/reference/host/object) 属性，其中包含与该服务具有相同 IP 地址和 proxy 的主机。<br><br>支持 `count`。|
|limitSelects|integer|限制子查询返回的记录数。<br><br>适用于以下子查询：<br>`selectHosts` - 结果将按 `hostid` 排序。|
|sortfield|string/array|按给定属性对结果排序。<br><br>可选值：`dserviceid`、`dhostid`、`ip`。|
|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]: # ({/bc4bd8fa-cdd07a5d})

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

`(integer/array)` 返回以下之一：

-   array 的 objects；
-   如果使用了 `countOutput` 参数，则为检索到的 objects 的数量。

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

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

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

[comment]: # ({b65bc2ec-09e9b2a3})
#### 获取主机上发现的服务

检索在发现的 主机“11”上检测到的所有已发现服务。

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


```json
{
    "jsonrpc": "2.0",
    "method": "dservice.get",
    "params": {
        "output": "extend",
        "dhostids": "11"
    },
    "id": 1
}
```
响应：


```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "dserviceid": "12",
            "dhostid": "11",
            "value": "",
            "port": "80",
            "status": "1",
            "lastup": "0",
            "lastdown": "1348650607",
            "dcheckid": "5",
            "ip": "192.168.1.134",
            "dns": "john.local"
        },
        {
            "dserviceid": "13",
            "dhostid": "11",
            "value": "",
            "port": "21",
            "status": "1",
            "lastup": "0",
            "lastdown": "1348650610",
            "dcheckid": "6",
            "ip": "192.168.1.134",
            "dns": "john.local"
        }
    ],
    "id": 1
}
```

[comment]: # ({/b65bc2ec-09e9b2a3})

[comment]: # ({6c01021b-2647a177})
### 另请参见

-   [已发现的
    主机](/manual/api/reference/dhost/object#discovered-host)
-   [发现
    检查](/manual/api/reference/dcheck/object#discovery-check)
-   [主机](/manual/api/reference/host/object#host)

[comment]: # ({/6c01021b-2647a177})

[comment]: # ({76ef9e21-76ef9e21})
### 来源

CDService::get() 在 *ui/include/classes/api/services/CDService.php* 中。

[comment]: # ({/76ef9e21-76ef9e21})
