将通过规则提取出来的消息字段转发给第三方服务时,您可自定义如何处理这些数据。这种方式是提供给用户灵活性最高的一种消息处理方式。
注意:第三方服务必须以 HTTP 或 HTTPS 的方式提供服务。配置转发第三方服务,需要提供支持 HTTP 或 HTTPS 的网站 URL 和端口。规则引擎转发成功后,第三方服务将收到来至
42.193.134.62
的数据包。
下图展示了将数据转发给第三方服务的整个过程:
转发的数据内容和格式,请参见 数据处理 文档。
注意:为了您后台稳定使用,请选择增加鉴权 Token。
用户如果在转发到第三方服务(Forward)即 HTTP 转发,已选择“增加鉴权 Token”,物联网通信平台将在 HTTP 或 HTTPS 请求中头部增加如下字段:
参数 | 描述 |
---|---|
Signature | Signature 结合了“添加规则”中填写的 Token 参数和请求中的 Timestamp 参数、Nonce 参数 |
Timestamp | 时间戳 |
Nonce | 随机数 |
检验 Signature 的 PHP 示例代码如下:
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
例如某次请求,相关参数如下,用户设置 Token 为 aaa。
Nonce: IkOaKMDalrAzUTxC
Signature: c259ed29ec13ba7c649fe0893007401a36e70453
Timestamp: 1604458421
排序后的字符串是 1604458421IkOaKMDalrAzUTxCaaa
,最终计算 sha1 结果为 c259ed29ec13ba7c649fe0893007401a36e70453
。
服务地址校验
参数 | 描述 |
---|---|
Signature | Signature 结合了“添加规则”中填写的 Token 参数和请求中的 Timestamp 参数、Nonce 参数 |
Timestamp | 时间戳 |
Nonce | 随机数 |
Echostr | 随机字符串 |
GET / HTTP/1.1
Host: **.**.**.**:4443
User-Agent: Go-http-client/1.1
Content-Type: application/json
Echostr: UPWIAFASvDUFcTEE
Nonce: testrance
Signature: abb6c316a8134596d825c5a1295bfa6f7657664d
Timestamp: 1623149590
Accept-Encoding: gzip
HTTP/1.1 200 OK
Date: Tue, 08 Jun 2021 10:53:10 GMT
Content-Length: 16
Content-Type: text/plain; charset=utf-8
UPWIAFASvDUFcTEE
重发机制用于在消息转发过程中发生失败的情况下,进行再次重发以达到接受消息的目的,具体说明如下:
本页内容是否解决了您的问题?