HTTP Client


HTTP Client 节点建立一个可调用 API 的 HTTP 客户端。

节点类型

External。

输入和输出能力

该节点具有 1 个入口点和 1 个出口点。输入和输出可以是任何格式。


正文会自动输出到 msg,而表头和属性信息会存储在 metadata,可以使用 ${metadata.key} 进行查询,其中 key 对应于表头/属性的 key。

节点属性

../../_images/http_client.png


名称

该节点的名称。


请求方法

该节点向服务器发出请求所用的方法。支持 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 https://api.openweathermap.org/data/2.5/weather
超时
鉴权 匿名
Params zip: 95050
units: imperial
appid: 6d2d46f8ef16aad452df394b00e8ec45
表头


则相当于发出如下请求:

GET https://api.openweathermap.org/data/2.5/weather?zip=95050&units=imperial&appid=6d2d46f8ef16aad452df394b00e8ec45

输出示例

根据上述配置,返回所请求天气信息的输出如下所述:

{
  "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
  }
}

相关节点