2

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);
}
asked Aug 8, 2018 at 11:33
0

2 Answers 2

4

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.

answered Aug 8, 2018 at 11:55
1

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

answered Aug 24, 2022 at 17:44
1
  • -1 means that connect failed. in this case because of the wrong port used because of the missing protocol part Commented Aug 25, 2022 at 4:56

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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.