Error 400 bad request ESP8266

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);
}

Debes poner tu código completo o no podremos ayudarte.

actualizado, ya puse todo mi codigo

Tu pagina PHP tiene 2 errores.

File: /home/sositi/public_html/reduxled/application/controllers/Configuracion.php
Line: 36
Function: _error_handler

File: /home/sositi/public_html/reduxled/index.php
Line: 315
Function: require_once

thanks, I alredy fixed it, i changed a little bit the code and now is working properly

this is the code now

#include <ESP8266WiFi.h>

const char* ssid = "MEGACABLE-BA92";
const char* password = "Sp29fy33";

const char* host = "reduxled.sositi.com";
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()
{
  Serial.println("GetConfigInfo");
  Serial.print("connecting to ");
  Serial.println(host);
  
  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, 80)) {
    Serial.println("connection failed");
    return;
  }
  
  String data = "mac=";
  data += "{\"mac\":\"";
  data += WiFi.macAddress();
  data += "\"}";

  Serial.println(WiFi.macAddress());
  Serial.println(data);

  client.println("POST /configuracion/ejecucion HTTP/1.1");
  client.println("Host: reduxled.sositi.com");
  client.println("Cache-Control: no-cache");
  client.println("Content-Type: application/x-www-form-urlencoded;");
  client.print("Content-Length: ");
  client.println(data.length());
  client.println();
  client.println(data);
  
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Client Timeout !");
      client.stop();
      return;
    }
  }
  
  // Read all the lines of the reply from server and print them to Serial
  while(client.available()){
    if (client.find("{")){
      String line = client.readStringUntil('\r');
      Serial.println("ClIENT AVAILABLE");
      Serial.println(line);
      //GuardarCredenciales (line);
    }
  }
  Serial.println();
  Serial.println("closing connection");

  delay(5000);
}