2013-10-16 24 views
1

我正在與arduino做一些練習。我試圖發送請求到我的本地Web服務器並得到它的答案。 Byt web服務器回答額外的標題,並且我不能解析var來完成任何事情。 這裏是Web服務器的答案:Arduino的webclient

HTTP/1.1 200 OK 
Date: Wed, 16 Oct 2013 17:44:36 GMT 
Server: Apache 
Set-Cookie: PHPSESSID=26va2lddtjdh9m18mjeh2lq9s1; 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 
Content-Length: 1 
Connection: close 
Content-Type: text/html; charset=utf-8 

0 

我僅需要讀取開關狀態:0,但在此之前得到了很多頭。 我怎樣才能得到服務器回答var沒有標題?

回答

1

通過\r\n\r\n序列將標題從HTTP響應的主體中分離出來。閱讀並放棄輸出,直到找到特定序列,從這一點開始,您將閱讀答案的正文。

0

另一種替代方法是管理服務器端的請求,創建一個僅返回沒有標題的數據的RESTful web服務。在這種情況下,您可以將更小的封裝發送給Arduino,並且需要更少的處理工作。

0

所以我猜你正在尋找的東西是這樣的: https://github.com/amcewen/HttpClient 這是Arduino的解析器,這個你可以這樣做:

EthernetClient c; 
HttpClient http(c); 
err = http.get(kHostname, kPath); 
err = http.responseStatusCode(); 
err = http.skipResponseHeaders(); 

而且你不必自己解析響應。 希望它有幫助!