Skip to content

2.7.2 and up: http.getString(); returns empty String - 2.7.1 works #7523

@beejayf

Description

@beejayf

#7384 # Basic Infos

  • This issue complies with the issue POLICY doc.
  • I have read the documentation at readthedocs and the issue is not addressed there.
  • I have tested that the issue is present in current master branch (aka latest git).
  • I have searched the issue tracker for a similar issue.
  • If there is a stack dump, I have decoded it.
  • I have filled out all fields below.

Platform

  • Hardware: [NodeMCU ESP-12E]
  • Core Version: [2.7.2 - 2.7.4]
  • Development Env: [Arduino IDE]
  • Operating System: [Windows]

Settings in IDE

  • Module: [Nodemcu]
  • Flash Mode: [did not find info]
  • Flash Size: [4MB]
  • lwip Variant: [v2 Lower Memory]
  • Reset Method: [nodemcu]
  • Flash Frequency: [40Mhz]
  • CPU Frequency: [80Mhz]
  • Upload Using: [SERIAL]
  • Upload Speed: [115200)

Problem Description

I have a very simple sketch that worked fine with ESP8266 board version 2.7.1 - but with 2.7.2 it just returns an empty string

This happened on a NodeMCU ESP-12E with the latest Adruino IDE (1.8.13 - Windows 10 Install (not the store version - if this is important) - since this is the only type I have right now, I cannot check it on different hardware. I tried two PCs - same result.

once I roll back to 2.7.1 it works - back to 2.7.2: empty string.

Am I doing something wrong or is this a bug in the latest releases?

MCVE Sketch

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
 
const char* ssid = "mynet";
const char* password = "mypwd";
 
void setup () {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
 
    delay(1000);
    Serial.print("Connecting..");
  }
}
 
void loop() {
  Serial.println("Connected..");
  if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status
 
    HTTPClient http;  //Declare an object of class HTTPClient
 
    http.begin("http://192.168.10.101/temp");  //Specify request destination
    int httpCode = http.GET();                                                                  //Send the request
    Serial.print("htcode: "); 
    Serial.println(httpCode);
    if (httpCode > 0) { //Check the returning code
 
    String payload = http.getString();   //Get the request response payload
    Serial.print("###");
    Serial.print(payload);                     //Print the response payload
    Serial.println("###");
  }
 
  http.end();   //Close connection
 
}
 
delay(30000);    //Send a request every 30 seconds
 
}

### Debug Messages


Metadata

Metadata

Assignees

No one assigned

    Labels

    waiting for feedbackWaiting on additional info. If it's not received, the issue may be closed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions