所以,我寫了一個程序比假設連接到服務器,它會返回時間。它適用於我的服務器,但是當我嘗試在另一臺服務器上使用它時,它的反應很奇怪。這裏是我的服務器的迴應:奇怪的HTTP響應Arduino
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上的代碼除了一對字符串外都是一樣的。
這裏是我使用的代碼的pastebin:http://pastebin.com/TFF5h2Gw 對不起,沒有太多的評論,它有點混亂在一起。我省略了其他一些我甚至沒有測試過的代碼,因爲我甚至無法得到時間。
也沒有'Content-Length:'。我似乎記得有幾個選項不需要明確設置Content-Length,但我不太記得它們。您可能需要查看HTTP規範以瞭解何時可能發生。 – JayC
我認爲它期待着我沒有發送的請求,但我不知道它會是什麼。 – Kenyon