获取

描述

integer/array httptest.get(object parameters)

此方法允许根据给出的参数检索Web场景。

此方法适用于任何类型的用户。可以在用户角色设置中撤销调用该方法的权限。更多信息请查看 用户角色

参数

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

该方法支持以下参数。

参数 类型 说明
groupids ID/array 仅返回属于给定主机组的 Web 场景。
hostids ID/array 仅返回属于给定主机的 Web 场景。
httptestids ID/array 仅返回具有给定 ID 的 Web 场景。
inherited boolean 如果设置为 true,则仅返回从模板继承的 Web 场景。
monitored boolean 如果设置为 true,则仅返回属于受监控主机的已启用 Web 场景。
templated boolean 如果设置为 true,则仅返回属于模板的 Web 场景。
templateids ID/array 仅返回属于给定模板的 Web 场景。
expandName flag 在 Web 场景名称中展开宏。
expandStepName flag 在场景步骤名称中展开宏。
evaltype integer 标签搜索规则。

可能的值:
0 - (默认)与/或;
2 - 或。
tags array 仅返回具有给定标签的 Web 场景。根据运算符值,按标签精确匹配并按标签值区分大小写或不区分大小写搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组返回所有 Web 场景。

可能的操作符类型:
0 - (默认)类似;
1 - 相等;
2 - 不像;
3 - 不等于
4 - 存在;
5 - 不存在。
selectHosts query hosts 属性中以数组形式返回 Web 场景所属的主机。
selectSteps query steps 属性中返回 Web 场景步骤。

支持 count
selectTags query tags 属性中返回 Web 场景标签。
sortfield string/array 根据给定的属性对结果进行排序。

可能的值:httptestidname
countOutput boolean 这些参数是所有 get 方法所共有的,在 参考注释 中有详细描述。
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下任一值:

  • 对象数组;
  • 如果已使用 countOutput 参数,则返回检索到的对象的数量。

示例

检索一个Web场景

检索关于Web场景“4”的所有数据。

请求:

{
    "jsonrpc": "2.0",
    "method": "httptest.get",
    "params": {
        "output": "extend",
        "selectSteps": "extend",
        "httptestids": "9"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "httptestid": "9",
            "name": "Homepage check",
            "nextcheck": "0",
            "delay": "1m",
            "status": "0",
            "variables": [],
            "agent": "Zabbix",
            "authentication": "0",
            "http_user": "",
            "http_password": "",
            "hostid": "10084",
            "templateid": "0",
            "http_proxy": "",
            "retries": "1",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "headers": [],
            "steps": [
                {
                    "httpstepid": "36",
                    "httptestid": "9",
                    "name": "Homepage",
                    "no": "1",
                    "url": "http://example.com",
                    "timeout": "15s",
                    "posts": "",
                    "required": "",
                    "status_codes": "200",
                    "variables": [  
                        {  
                            "name":"{var}",
                            "value":"12"
                        }
                    ],
                    "follow_redirects": "1",
                    "retrieve_mode": "0",
                    "headers": [],
                    "query_fields": []
                },
                {
                    "httpstepid": "37",
                    "httptestid": "9",
                    "name": "Homepage / About",
                    "no": "2",
                    "url": "http://example.com/about",
                    "timeout": "15s",
                    "posts": "",
                    "required": "",
                    "status_codes": "200",
                    "variables": [],
                    "follow_redirects": "1",
                    "retrieve_mode": "0",
                    "headers": [],
                    "query_fields": []
                }
            ]
        }
    ],
    "id": 1
}

另请参阅

源码

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