POST请求不适用于外部服务器

时间:2017-06-22 02:01:34

标签: post http-status-code-400 arduino-esp8266

我正在尝试使用ESP8266模块将数据从arduino发送到Web服务器(LAMP),当我对本地网络服务器执行POST时,服务器接收数据并返回200,但是,当我发布到外部服务器 (托管或谷歌云)它在Apache日志中注册错误400并且什么也不返回,但是当我通过邮递员执行相同类型的请求时一切都很好,因为我不知道在安装或执行时是否是我的错请求或是否在外部服务器上有一些阻止,因为我的网络中的http服务器正常工作。

我使用此lib与ESP合作:https://github.com/itead/ITEADLIB_Arduino_WeeESP8266

这是请求字符串:

POST /data/sensor_test.php HTTP/1.1
Host: xxxxxxxxx.com
Accept: */*
Content-Length: 188
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

temperatureAir1=19.70&humidityAir1=82.30&temperatureAir2=19.40&humidityAir2=78.60&externalTemperature=19.31&illumination05=898&illumination10=408&humiditySoilXD28=6&humiditySoilYL69=5

1 个答案:

答案 0 :(得分:0)

我发现了这个问题,当我连接构成请求的字符串时,我正在使用\ n进行换行,我切换到\ r \ n并且它有效! 字节数确实是错误的,我看是正确的,但好的是现在请求是正确的。