ESP32:HttpClient.get() 失败并显示 -1

Elm*_*lmi 0 http http-get wifi arduino-ide esp32

我正在使用 ArduinoIDE 对 ESP32 进行编程,并且遇到了 HTTP GET 问题。我在做什么:

  • ESP32 使用静态、固定 IP 作为 WiFi 客户端连接到现有 WiFi 网络
  • 启动网络服务器,提供用于 OTA 固件更新的网页 -> 这有效,可以通过静态 IP 访问该网页
  • 使用 HttpClient 我尝试获取另一个远程网络服务器,但这失败了

这是我用于 HTTP GET 调用的代码:

static WiFiClient wifi;

HttpClient wlanHttp=HttpClient(wifi,"my.server.tld");
wlanHttp.get("/setpos.php?id=DEADBEEF"); // -> this fails with error code -1
wlanHttp.responseStatusCode(); // follow-up error -1
wlanHttp.stop();
Run Code Online (Sandbox Code Playgroud)

知道这里出了什么问题吗?

小智 5

这里令人困惑的部分是 ESP32 有一个内置的 http 客户端,称为 HTTPClient。Arduino 的那个叫 HttpClient,我想找到决定这个名字的人,看看他是否还好。HTTPClient 有一个名为 getString() 的例程,这是一种从 json api 调用收集信息的好方法,但 HttpClient 不会用它进行编译,因为它不知道那是什么。