HTTP/1.1 400 Bad Request

Hi guys, I'm having a problem with this project.
I use nodeMCU to connect to the XAMPP server. Here is the

#include<ESP8266WiFi.h>
#include<ESP8266HTTPClient.h>
WiFiClient client;
String dataIn;
String dt[15];
int i;
boolean parsing=false;
int value =0;

/*Konfig Wifi ec.as
const char *id = "ec.aes";
const char *pw = "cisadane2015";
*/ 

/*Konfig Wifi ec.as
const char *id = "BRIN_Net";
const char *pw = "";
*/ 

//konfig wifi Awawawaw
const char *id = "Awawawaw";
const char *pw = "qwertyuiopp";

//IP addresss Server XAMPP (ipconfig CMD)
const char *host = "192.168.194.125";
HTTPClient http;

void setup() 
{
  Serial.begin(9600);
  dataIn="";

  //connecting WiFi
  WiFi.mode(WIFI_STA);
  WiFi.begin(id, pw);
  Serial.println("");

  Serial.print("Connecting");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  // Jika koneksi Berhasil
  Serial.println("");
  Serial.println("Connected To : ");
  Serial.println(id);
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() 
{
  if(Serial.available()>0){
    char inChar = (char)Serial.read();
    dataIn += inChar;
    if (inChar == '\n') {parsing = true;}
  }
  if(parsing){
    // masuk Void Parsing data
    parsingData();
    parsing=false;
    dataIn="";
    // Proses pengiriman Data ke Server
    delay(1000);
    ++value;

    Serial.print("connecting To : ");
    Serial.println(host);

    // Mengirimkan ke alamat host dengan port 80
    WiFiClient client;
    if (!client.connect(host,8080)){
      Serial.println("connection Failed");
      return;
    }
    // Data yang dikirim ke alamat IP ESP
    String url = "/konten/write-dataa.php?data1=";
    url += dt[0].toInt();
    url += "&data2=";
    url += dt[1].toInt();

    Serial.print("Requesting URL : ");
    Serial.println(url);

    // Mengirimkan Request ke Server
    client.println(String("GET ") + url + " HTTP/1.1 \r\n" + 
                        "Host: " + host + "\r\n" + 
                        "Connection Close : \n");
    unsigned long timeout = millis();
    while (client.available() == 0){
      if (millis() - timeout > 1000){
      Serial.println(">>>>>>> Client Timeout <<<<<<<<");
      client.stop();
      return;
      }
    }
  // mengetahui bahwa server Menerima semua data
    while (client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
  Serial.println();
  Serial.println("Closing Connection"); 
 }
}

void parsingData(){
  int j=0;
  //mengirim data yang sudah diterima
  Serial.print("Data Masuk : ");
  Serial.print(dataIn);
  Serial.print("\n");
  //inisialisasi Variabel
  dt[j]="";
  //proses parsing data
  for(i=1;i<dataIn.length();i++){
    //sparator (,)
    if ((dataIn[i]==',')){
      //merubah index array
      j++;
      dt[j]=""; //inisialisasi variabel array
    }
    else{
      //proses menampung data saat pengecekan karakter
      dt[j] = dt[j] + dataIn[i];
    }
  }
  //Mendampilkan data hasil parsing
  Serial.print("Combustion : ");
  Serial.println(dt[0]);
  Serial.print("Pirolisis : ");
  Serial.println(dt[1]);
}

here's the problem


Combustion : N
Pirolisis : 0.00
connecting To : 192.168.194.125
Requesting URL : /konten/write-dataa.php?data1=0&data2=0
HTTP/1.1 400 Bad Request
Date: Tue, 27 Feb 2024 05:27:18 GMT
Server: Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
Content-Length: 327
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 Server at localhost Port 8080</address>
</body></html>

Closing Connection

Why are you not using the HTTPClient you are creating? I think it does know how to speak HTTP.

This looks wrong.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.