1

我正在用 arduino 进行一些练习。我正在尝试将获取请求发送到我的本地网络服务器并得到它的答案。Byt 网络服务器使用额外的标头回答,我无法解析 var 来处理它。这是网络服务器的答案:

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 的服务器答案?

4

3 回答 3

1

\r\n\r\n标头通过序列与 HTTP 响应的主体分开。读取并丢弃输出,直到找到该特定序列,从那时起,您将阅读答案的正文。

于 2013-10-16T17:49:33.493 回答
0

另一种选择是在服务器端管理请求,创建一个 RESTful Web 服务,该服务仅返回没有标头的数据。在这种情况下,您有一个较小的包要发送到 Arduino,它需要较少的处理工作。

于 2014-12-16T11:28:04.750 回答
0

所以我猜你正在寻找这样的东西: https://github.com/amcewen/HttpClient 它是 Arduino 的解析器,你可以这样做:

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

而且您不必自己解析响应。希望能帮助到你!

于 2015-02-20T14:53:22.587 回答