2016-10-16 10 views
0

こんにちは私はarduino ideをコードに使用していて、WIFIClientの例をGETを使ってローカルホストに送るように変更しました。それは私に悪い要求エラーを与える。任意のヘルプや提案が、私は、これはローカル上でこれを実行している人のために役立つことを願うシリアルモニターから400悪いリクエストarduino esp8266

修正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"); 

}

出力

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

高く評価されホストiが変更されました

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

String url ="?v=we"; 
to 

String url ="/edu/arduino.php?v=we";