【发布时间】:2014-01-07 00:45:45
【问题描述】:
所以,我编写了一个连接到服务器的程序,它会返回时间。它可以在我的服务器上运行,但是当我尝试在另一台服务器上使用它时,它的响应很奇怪。这是我服务器的响应:
HTTP/1.1 200 OK
Date: Tue, 07 Jan 2014 00:06:20 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.4.4-14+deb7u5
Set-Cookie: PHPSESSID=jlscamqbddtqibf9j7m0fu27p5; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 6
Connection: close
Content-Type: text/html
4:06pm
效果很好。现在这是来自另一台服务器的响应(不起作用):
HTTP/1.1 200 OK
Date: Tue, 07 Jan 2014 00:06:34 GMT
Server: Apache
Set-Cookie: PHPSESSID=krlqmoqgpiqm9b9u27agup53c7; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html
6
4:06pm
0
如您所见,在预期响应前后我得到了一些奇怪的东西。服务器上的代码完全相同。除了几个字符串之外,Arduino 上的代码是相同的。
这是我正在使用的代码的粘贴箱:http://pastebin.com/TFF5h2Gw 抱歉,没有很多cmets,而且有点混乱。我省略了一些其他东西使用的代码,因为我什至没有时间测试。
【问题讨论】:
-
也没有
Content-Length:。我似乎记得有一些选项不需要明确设置 Content-Length,但我不太记得它们。您可能必须查看 HTTP 规范才能了解何时会发生这种情况。 -
我认为它正在等待一个我没有发送但我不知道它会是什么的请求。