Bug or limitation in HTTPClient

Hi,

I am still quite new here.... :confused:

Using ESP8266, Arduino 1.8.10 and the Libary from github

I have observed a problem at least with some HTTPClient.h Libaries

Code: (no compliation error ... and it works for some http get operations)

//HUEcommand contains a correct statement to request from 
 //my HUE Bridge the basic configuration as answer

 http.begin(HUEcommand);
 int httpCode = http.GET();
 if (httpCode == 200) { // I receive here the correct Http Code "200"
   Serial.println(HUEcommand);
   String HUEanswer = http.getString();

With the last statement I get a crash and a stack output. But not all the time .... if I request less data from my HUE bridge with other GET commands I dont have a problem. As far as I could figure out it is related to the length of the answer string and that is very long for the "config" request. I have fixed the problem for me by avoiding using HTTPClient.h for this by directly reading the answer as stream with:

client.findUntil("\"localtime\":\"", "\0");

I am not sure if this problem is valid for all HTTPClient.h or just a specific version ..... because sometimes I had a problem ...sometimes not and I have confused my local Arduino IDE with different Libaries from different sources.

Best Regards
Michael

Please READ THIS POST to help you get the best out of the forum.

SIMPLE TROUBLESHOOTING.

These steps may also save you some unnecessary time and effort in the forum.

  • Always provide as much detail as possible to your issue it may be important.

  • If applicable provide your SKETCH inside CODE TAGS ( </> ) or a CREATE share link.

  • If applicable provide a schematic even if hand drawn.
    COMMON ISSUES

  • Check you have a COMMON GROUND where required.

  • Where possible use USB 2.0 ports or a USB 2.0 POWERED HUB to rule out USB 3.0 issues.

  • Try other computers where possible.

  • Try other USB leads where possible.

  • You may not have the correct driver installed. CH340/341 or CP2102

  • There may be a problem with the board check your wiring first.

  • Remove any items connected to pins 0 and 1.
    COMPUTER RELATED

  • Ensure you turn off any additional security / antivirus just to test.

  • There may be a problem with the PC try RESTARTING it.

  • You may be selecting the wrong COM port.

  • Avoid cloud/network based installations where possible OR ensure your Network/Cloud software is RUNNING.

  • Clear your browsers CACHE.

  • Close the IDE before using any other serial programs.

  • Preferably install IDE’s as ADMINISTRATOR or your OS equivalent

Performing the above actions may help resolve your problem without further help.

Bob.

Hi,

not sure why I got the comment above.

I cleaned up my Arduino installation. Now I know a bit better which Libaries I use. It is the newest package 2.6.1. and can be found here:

Also my HTTPClient is from there → And it creates the problem described above!

Exception (3):
epc1=0x401009a0 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4002b909 depc=0x00000000

stack>>>

ctx: cont
sp: 3ffffaf0 end: 3fffffc0 offset: 01a0
3ffffc90: 3fff1900 3fff1728 3fff0360 40218188
3ffffca0: 00000000 00000000 0000001f 00000050
3ffffcb0: 0000005c 00000046 00000020 40100b90
3ffffcc0: 00000006 3fff02e0 00000022 0058bb23
3ffffcd0: 4020f3dd 00000030 00000014 40218c84
3ffffce0: 3fff1728 3fff18bc 3fff1724 40212bc8
3ffffcf0: 3fff0360 00000000 00000000 001b9ddc

Also with the complete example from here:

ESP8266: HTTP GET Requests - techtutorialsx

I get a crash with the Http Get request:

“http://HUE_IP_adress/api/HUE_User_ID/config”

Limitation or bug? Workaround?

I am still confused that it worked for some time … but I can not find out which versions of libaries I have used.

Best Regards
Michael