Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 正在从Arduino以太网客户端获取中删除标头信息_C++_Arduino - Fatal编程技术网

C++ 正在从Arduino以太网客户端获取中删除标头信息

C++ 正在从Arduino以太网客户端获取中删除标头信息,c++,arduino,C++,Arduino,我想知道我是否错过了一个技巧 在arduino上,您可以通过web服务获取: if (client.connect("google.com", 80)) { client.println("GET /service/v2/time HTTP/1.1"); client.println("Host:nimbits-02.appspot.com"); client.println(); delay(1000); while(client.connected() && !clie

我想知道我是否错过了一个技巧

在arduino上,您可以通过web服务获取:

if (client.connect("google.com", 80)) {
client.println("GET /service/v2/time HTTP/1.1");
client.println("Host:nimbits-02.appspot.com");   
client.println();
delay(1000);
while(client.connected() && !client.available()) delay(1); 
while (client.available()) {
  c = client.read();
  Serial.print(c);
}

client.stop();
client.flush();
}

工作正常(调用nimbits时间服务)

此调用的内容体是我需要的,打印结果如上所示给我:

> HTTP/1.1 200 OK Date: Sat, 02 Feb 2013 17:24:38 GMT Content-Type:
> text/html Server: Google Frontend Content-Length: 13
> 
> 1359825878036
这一切都非常好——但我必须在arduino上进行一些昂贵的字符串处理,才能获得消息体。我只想要1359825878036。有没有办法告诉ethernet客户端不要读取头?那很方便

到目前为止,我的最佳解决方案是假设消息体始终位于最后一行字符之后,这似乎很容易出错:

if (client.connect("google.com", 80)) {
      client.println("GET /service/v2/time HTTP/1.1");
      client.println("Host:nimbits-02.appspot.com");   
      client.println();
      delay(1000);
      while(client.connected() && !client.available()) delay(1); 
      while (client.available()) {
        c = client.read();
        response= response + c;
      }
     int contentBodyIndex = response.lastIndexOf('\n');
     if (contentBodyIndex > 0) {
        Serial.print(response.substring(contentBodyIndex));
     }

      client.stop();
      client.flush();
    }

谢谢,Ben-nimbits.com

他们的是一把钥匙。标题以双CRLF结尾:

Response = Status-Line
    *(( general-header        
   | response-header        
   | entity-header ) CRLF)  
   CRLF
   [ message-body ]