I've read several other posts but I still couldn't solve the issue. I'm trying to connect to a website which is HTTP (not HTTPS) but I always get code -1 as response. If I open the link in the browser it works well. Not sure what I am missing? Here's my full code:
#include <ESP8266HTTPClient.h>
#include <esp8266wifi.h>
const char* ssid = "";
const char* password = "";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print("Connecting..");
}
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin("www.francescosoave.com/blind/getTime.php");
http.addHeader("Content-Type", "text/html");
int httpCode = http.GET();
Serial.print("HTTP CODE: ");
Serial.println(httpCode);
if(httpCode > 0){
String payload = http.getString();
Serial.print("PAYLOAD: ");
Serial.println(payload);
}
http.end();
}
delay(2000);
}
2 Answers 2
You omitted the protocol part of the url. The HttpClient implementation requires it.
Use http.begin("http://www.francescosoave.com/blind/getTime.php");
Do not use Content-type
header. You do not send any content.
Turn-on debug in Tools menu. Set Debug Port to Serial and Debug Level to HTTP_CLIENT to see the error messages.
to add an additional point to @juraj answer these are the HTTP
code for various errors written in ESP8266HTTPClient.h
#define HTTPCLIENT_DEFAULT_TCP_TIMEOUT (5000)
/// HTTP client errors
#define HTTPC_ERROR_CONNECTION_FAILED (-1)
#define HTTPC_ERROR_SEND_HEADER_FAILED (-2)
#define HTTPC_ERROR_SEND_PAYLOAD_FAILED (-3)
#define HTTPC_ERROR_NOT_CONNECTED (-4)
#define HTTPC_ERROR_CONNECTION_LOST (-5)
#define HTTPC_ERROR_NO_STREAM (-6)
#define HTTPC_ERROR_NO_HTTP_SERVER (-7)
#define HTTPC_ERROR_TOO_LESS_RAM (-8)
#define HTTPC_ERROR_ENCODING (-9)
#define HTTPC_ERROR_STREAM_WRITE (-10)
#define HTTPC_ERROR_READ_TIMEOUT (-11)
-1
usually indicate bad URL
or bad wifi connection
-
-1 means that
connect
failed. in this case because of the wrong port used because of the missing protocol part2022年08月25日 04:56:44 +00:00Commented Aug 25, 2022 at 4:56