如何忽略 ESP8266 响应中的所有 headers?
How to ignore all headers in ESP8266 response?
我的服务器响应有问题。我需要在响应中忽略所有这些 headers。
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: close
Status: 200 OK
Balance:50
uint32_t len = wifi.recv(buffer, sizeof(buffer), 10);
if (len > 0) {
Serial.print("Received:[");
for(uint32_t i = 0; i < len; i++) {
Serial.print((char)buffer[i]);
}
Serial.print("]\r\n");
}
首先,我将所有响应放入字符串变量中,然后找到我的触发器的索引("OK" 我也可以使用“\r\n\r\n”,但我不知道为什么我要使用我自己的触发器,哈哈)所以我可以过滤所有这些 headers.
wifi.send((const uint8_t*)httpPost, strlen(httpPost));
int t = 0;
char resp[] = {};
uint32_t len = wifi.recv(buffer, sizeof(buffer), 1024);
if (len > 0) {
String resp;
for (uint32_t i = 0; i < len; i++) {
resp += String((char)buffer[i]);
}
Serial.println(resp);
int ind = resp.indexOf("OK",20);
String response;
for(int x = ind+3;x<=resp.length();x++){
response += resp[x];
}
Serial.println(response);
}
我的服务器响应有问题。我需要在响应中忽略所有这些 headers。
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: close
Status: 200 OK
Balance:50
uint32_t len = wifi.recv(buffer, sizeof(buffer), 10);
if (len > 0) {
Serial.print("Received:[");
for(uint32_t i = 0; i < len; i++) {
Serial.print((char)buffer[i]);
}
Serial.print("]\r\n");
}
首先,我将所有响应放入字符串变量中,然后找到我的触发器的索引("OK" 我也可以使用“\r\n\r\n”,但我不知道为什么我要使用我自己的触发器,哈哈)所以我可以过滤所有这些 headers.
wifi.send((const uint8_t*)httpPost, strlen(httpPost));
int t = 0;
char resp[] = {};
uint32_t len = wifi.recv(buffer, sizeof(buffer), 1024);
if (len > 0) {
String resp;
for (uint32_t i = 0; i < len; i++) {
resp += String((char)buffer[i]);
}
Serial.println(resp);
int ind = resp.indexOf("OK",20);
String response;
for(int x = ind+3;x<=resp.length();x++){
response += resp[x];
}
Serial.println(response);
}