Arduino HttpClient带有NULL字符的getString问题。 ESP32

时间:2018-06-05 17:27:39

标签: arduino httpclient arduino-ide arduino-esp8266 esp32

我的http.Get()方法的响应是十六进制的,看起来像 0x00,0x00,0x00,0x00,0x04,0x08,0xff 但是当你尝试使用时收集数据 response = http.getString(); 我得到空字符串可能是因为getString()通过看到0x00(NULL)

来终止它

是否有任何方法可以替换getString()或在get方法响应中接收unit8_t字节

如果我在服务器上编辑对0x04,0x08,0xff的响应,那么ps代码就会起作用

1 个答案:

答案 0 :(得分:0)

使用http.getstream

WiFiClient * stream = http.getStreamPtr();
      while(http.connected() && (len > 0 || len == -1)) 
      {
      // get available data size
      size_t size = stream->available();
      if(size) {
       // read up to 128 byte
      int c = stream->readBytes(response, ((size > sizeof(response)) ? 
      sizeof(response) : size));
      if(len > 0) {
                  len -= c;
                  }
               }
       delay(1);

}