Que tal, estoy trabajando con un nodemcu, intentando mandar un dato a un host y después leer su respuesta pero me aparece el error 400 bad request, he consultado varios sitios web, ya lo intente de varias maneras y en todas ellas me sigue sucediendo lo mismo, si alguien me pudiera ayudar se los agradecería muchísimo, cabe mencionar que hago esa petición 2 veces a diferentes host, con uno si me funciona y con el otro no.
este es el codigo que estoy utilizando:
#include <ESP8266WiFi.h>
const char* ssid = "MEGACABLE-BA92";
const char* password = "Sp29fy33";
const char* host = "reduxled.sositi.com/configuracion/ejecucion";
const char* path = "/configuracion/ejecucion";
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println(" connected");
}
void loop()
{
WiFiClient client;
Serial.printf("\n[Connecting to %s ... ", host);
if (client.connect("160.153.75.137/configuracion/ejecucion", 80))
{
Serial.println("connected]");
String data = "mac=";
data += "{\"mac\":\"";
data += WiFi.macAddress();
data += "\"}";
Serial.println(data);
Serial.println("[Sending a request]");
client.print("POST /configuracion/ejecucion HTTP/1.1");
client.print("Host: reduxled.sositi.com");
client.print("Content-Type: application/x-www-form-urlencoded;");
//client.println("User-Agent: Arduino");
//client.print("Connection: close");
//client.println("Accept: */*");
//client.print("Cache-Control: no-cache");
client.print("Content-Length: ");
client.print(data.length());
client.println();
client.print(String(data));
Serial.println("[Response:]");
while (client.connected())
{
if (client.available())
{
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
client.stop();
Serial.println("\n[Disconnected]");
}
else
{
Serial.println("connection failed!]");
client.stop();
}
delay(5000);
}