0

Hi i am trying to test a value form nodemcu board i am using arduino ide to code and have modified the WIFIClient example to send a value to my localhost using GET. it gives me bad request error. any help or suggestion is appreciated

Modified WIFIClinet

#include <ESP8266WiFi.h>

const char* ssid     = "ssid";
const char* password = "pwd";


const char* host = "http://10.0.0.39/edu/arduino.php";



void setup() {
  Serial.begin(115200);
  delay(10);

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

int value = 0;

void loop() {
  delay(5000);
  ++value;

  Serial.print("connecting to ");
  Serial.println(host);

  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }




  // We now create a URI for the request
  String url ="?v=we";
//  
//  
 Serial.print("Requesting URL: ");
  Serial.println(url);

// This will send the request to the server
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
              "Host: " + host + "\r\n" + 
               "Connection: close\r\n\r\n");
//
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()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }

  Serial.println();
  Serial.println("closing connection");

}

Output from serial monitor

connecting to http://10.0.0.39/edu/arduino.php
Requesting URL: ?v=we
HTTP/1.0 400 Bad Request
Server: httpd
Date: Sat, 01 Jan 2011 22:02:19 GMT
Content-Type: text/html
Connection: close

<HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD>
<BODY BGCOLOR="#cc9999"><H4>400 Bad Request</H4>
Bad filename.
</BODY></HTML>

1 Answer 1

1

I hope this is helpful for people running this on local host i changed

const char* host = "http://10.0.0.39/edu/arduino.php";
to 
const char* host = "10.0.0.39"; 

and

String url ="?v=we";
to 

String url ="/edu/arduino.php?v=we";
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.