ESP8266 IFTTT失败

时间:2016-05-24 03:02:18

标签: arduino esp8266 ifttt

我有一个使用ESP8266 12E的设置,它在特定端口200打开一个Web服务器。我已经使用端口转发将传入的数据路由到此服务器。我使用了duckdns来注册IP和调用duckdns域来触发ESP。 这很好用,我可以使用以下

触发
http://mydomain.duckdns.org:200/parseIFTTT

使用postman工具,将contentType作为plain / text,将方法作为POST,我传递的内容将通过ESP中的parseIFTTT方法进行解析

 void parseIFTTT() {

  String message;
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  Serial.println(message);
  server.send(200, "text/plain", "Success");
}

但是当尝试与IFTTT集成任何Facebook或gmail事件时,我无法解析IFTTT的数据。

请求转到ESP8266,但请求数据我无法解析。

以下是请求:

URL : http://mydomain.duckdns.org:200/parseIFTTT
Method : POST
Content Type: text/plain
Body : {{Message}}

在我刚刚添加{{Message}}的身体中。在串行监视器中,我将op视为空白

1
plain:

1 个答案:

答案 0 :(得分:0)

经过大量调试后我发现了这个问题。

esp8266 \ hardware \ esp8266 \ 2.2.0 \ libraries \ ESP8266WebServer \ src \ Parsing.cpp 在Http服务器的核心库中使用'Content-Length',IFTTT发送名称为“content-length”的请求头,因此未检索内容长度,并且未检索解析的数据。

不确定IFTTT是否存在问题,并将其作为较低的套餐价格发送。