#include #include #include #include #ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char* ssid = STASSID; const char* password = STAPSK; ESP8266WebServer server(80); const int led = LED_BUILTIN; const String postForms = "\ \ ESP8266 Web Server POST handling\ \ \ \

POST plain text to /postplain/


\
\
\ \
\

POST form data to /postform/


\
\
\ \
\ \ "; void handleRoot() { digitalWrite(led, 1); server.send(200, "text/html", postForms); digitalWrite(led, 0); } void handlePlain() { if (server.method() != HTTP_POST) { digitalWrite(led, 1); server.send(405, "text/plain", "Method Not Allowed"); digitalWrite(led, 0); } else { digitalWrite(led, 1); server.send(200, "text/plain", "POST body was:\n" + server.arg("plain")); digitalWrite(led, 0); } } void handleForm() { if (server.method() != HTTP_POST) { digitalWrite(led, 1); server.send(405, "text/plain", "Method Not Allowed"); digitalWrite(led, 0); } else { digitalWrite(led, 1); String message = "POST form was:\n"; for (uint8_t i = 0; i < server.args(); i++) { message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; } server.send(200, "text/plain", message); digitalWrite(led, 0); } } void handleNotFound() { digitalWrite(led, 1); String message = "File Not Found\n\n"; message += "URI: "; message += server.uri(); message += "\nMethod: "; message += (server.method() == HTTP_GET) ? "GET" : "POST"; message += "\nArguments: "; message += server.args(); message += "\n"; for (uint8_t i = 0; i < server.args(); i++) { message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; } server.send(404, "text/plain", message); digitalWrite(led, 0); } void setup(void) { pinMode(led, OUTPUT); digitalWrite(led, 0); Serial.begin(115200); WiFi.begin(ssid, password); Serial.println(""); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); if (MDNS.begin("esp8266")) { Serial.println("MDNS responder started"); } server.on("/", handleRoot); server.on("/postplain/", handlePlain); server.on("/postform/", handleForm); server.onNotFound(handleNotFound); server.begin(); Serial.println("HTTP server started"); } void loop(void) { server.handleClient(); }