Hi,
I am doing a POST request and I want to parse the response.
The way that I am doing it is
bool req() {
Serial.println("Trying to send data");
if (WiFi.ping(server) >= 0 && client.connectWithTimeout(server, 8000, CONNECT_TIMEOUT)) {
Serial.println("connecting...");
char b[100] = { 0 };
sprintf(b, "{\"rssi\":%d}", WiFi.RSSI());
Serial.println(b);
client.println("POST /ingest/ HTTP/1.1");
client.println("Host: 127.0.0.1");
client.println("User-Agent: ArduinoWiFi/1.1");
client.println("Content-Type: application/json");
client.println("Connection: close");
client.println("Content-Length: 12");
client.println();
client.println(b);
client.println();
char request_response[1024] = { 0 };
int request_response_len = 0;
int request_status = 0;
while (client.connected()) {
while (client.available()) {
char c = client.read();
request_response[request_response_len] = c;
request_response_len++;
}
}
Serial.println(request_response);
Serial.println(request_response_len);
return true;
}
return false;
}
My problem is that sometimes it returns me just 'HTTP/1.1 200 OK', without headers and body.
Do you have any idea what am I doing wrong?