我正在尝试将POST HTTP发送到运行node.js的本地服务器。 GET请求运行良好。使用Postman(本地)的POST效果很好,我没有任何防火墙。但我无法用Arduino运行它。
我正在使用的代码是一个简单的SparkFun客户端示例,其中我只将GET更改为POST:
GCHandle
httpPost是:
audio
我进入串行监视器的所有内容都是“与服务器连接!”......
我做错了什么?
答案 0 :(得分:1)
标题和正文之间需要有一个空行:
glBindTexture([videoWriter textureCacheTarget], [videoWriter textureCacheID]);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, [videoWriter textureCacheID], 0);
另外,按照标准,您应该使用const String httpPost = "POST /meteo HTTP/1.1\r\n"
"Host: 192.168.0.131:5000\r\n"
"User-Agent: Arduino/1.0\r\n"
"Connection: close\r\n"
"Content-Type: application/x-www-form-urlencoded;\r\n"
"\r\n"
"windspeedmph=0&winddir=0&humidity=0&temp=0&pressure=0\n";
来换行,而不仅仅是\r\n
HTTP header line break style
答案 1 :(得分:1)
在我的情况下,指定Content-Length字段也很重要。然后应用程序开始按预期工作。如果没有Content-Length字段,则接收方无法看到数据。 Content-Length指定有效负载的长度,在您的情况下是字符串的长度:&#34; windspeedmph = 0&amp; winddir = 0&amp;湿度= 0&amp; temp = 0&amp; pressure = 0 \ n&#34;。< / p>