我正在尝试使用Arduino IDE和this library通过ESP8266发出POST HTTP请求,但出于任何原因我收到此错误:
[HTTP] POST ...失败,错误:发送有效负载失败
Wifi连接正确,标题似乎在库中正确处理,同一请求在POSTMAN中有效。
通过在库中稍微研究一下,特别是this file ESP8266HTTPClient.cpp, 这段代码是触发错误的地方 ,这是因为调用{ {1}}返回_tcp->write(&payload[0], size)
,0
为size
(我正在发送的有效负载的正确长度)。
128
在变量有效载荷中,我发送以下内容(我也在POSTMAN中检查过这是正确的):
// send Payload if needed
if(payload && size > 0) {
if(_tcp->write(&payload[0], size) != size) {
return returnError(HTTPC_ERROR_SEND_PAYLOAD_FAILED);
}
}
这是我在Arduino IDE中的代码:
{\"mode\":\"sync\",\"messageType\":\"4a0f64bf6fc780e39a51\",\"messages\":[{\"Humidity\":90,\"Temperature\":50,\"Brightness\":60,\"timestamp\":1}]}
问题:
为什么ESP8266HTTPClient中的部分代码失败了?为什么它没有正确发送有效载荷?