HTTP Client¶
HTTP Client 节点建立一个可调用 API 的 HTTP 客户端。
节点类型¶
External。
输入和输出能力¶
该节点具有 1 个入口点和 1 个出口点。输入和输出可以是任何格式。
正文会自动输出到 msg,而表头和属性信息会存储在 metadata,可以使用 ${metadata.key}
进行查询,其中 key 对应于表头/属性的 key。
节点属性¶
名称
该节点的名称。
请求方法
该节点向服务器发出请求所用的方法。支持 GET 和 POST。
URL
HTTP 服务器的 URL。
超时
该节点的请求超时。单位为毫秒,默认值为 30,000。如果该节点在超时时间内未收到来自服务器的任何响应,请求将会超时。可用的超时时间为 1,000-60,000 毫秒。
鉴权
验证该节点所发出请求所用的方法。可能的值如下所述。
匿名:每次使用不同的 IP 地址发出匿名请求。
用户名/密码:在鉴权请求中传递用户名/密码。
Params 配置
以 “?key=value” 的形式附加到请求 URL 的参数。
Headers 配置
请求表头中包含的键/值对。
保持 Cookie
存储用于会话管理的 cookie 信息。
描述
该节点的描述。
使用限制¶
由于 HTTP 服务器并非 EnOS 管理,EnOS 不保证每次连接都能成功,连接问题可能是由于服务器停机或其他 EnOS 无法控制的因数造成。
示例¶
输入示例¶
如果请求特定位置天气信息的某个 HTTP Client 节点具有以下配置:
字段 |
值 |
---|---|
名称 |
HTTP Client |
请求方法 |
GET |
URL |
|
超时 |
无 |
鉴权 |
匿名 |
Params |
zip: 95050 |
表头 |
无 |
则相当于发出如下请求:
输出示例¶
根据上述配置,返回所请求天气信息的输出如下所述:
{
"MetaData":{
"CamelHttpResponseCode": "200",
"CamelHttpQuery": "",
"CamelHttpResponseText": "OK"
},
"Body":{
"coord":{
"lon":-121.95,
"lat":37.35
},
"weather":[
{
"id":721,
"main":"Haze",
"description":"haze",
"icon":"50n"
}
],
"base":"stations",
"main":{
"temp":59.88,
"feels_like":59.61,
"temp_min":59,
"temp_max":61,
"pressure":1015,
"humidity":77
},
"visibility":3219,
"wind":{
"speed":1.95,
"deg":310
},
"clouds":{
"all":90
},
"dt":1600071865,
"sys":{
"type":1,
"id":5845,
"country":"US",
"sunrise":1600091374,
"sunset":1600136217
},
"timezone":-25200,
"id":0,
"name":"Santa Clara",
"cod":200
}
}