ESP32:HttpClient.get()失败,为-1。

问题描述 投票:0回答:1

我在用ArduinoIDE对我的ESP32进行编程,在HTTP GET上遇到了问题。我正在做什么。

  • ESP32作为WiFi客户端连接到一个现有的WiFi网络,使用一个静态的固定IP
  • 网络服务器被启动,它提供了一个OTA固件更新的网页-> 这工作,网页是通过静态IP访问。
  • 使用HttpClient,我试图GET一个其他的远程webserver,但是失败了。

这是我用于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();

有什么问题吗?

http wifi http-get arduino-ide esp32
1个回答
0
投票

在ESp32(如果使用HTTPClient.h)的代码应该是这样的。

static WiFiClient wifi;
HttpClient wlanHttp;

wlanHttp.begin("http://my.server.tld/setpos.php?id=DEADBEEF"); //Specify the URL
int httpCode = wlanHttp.GET();                                 //Make the request

if(httpCode > 0) { //Check for the returning code
   if(httpCode == HTTP_CODE_OK) { 
    // get payload with http.getString();
    Serial.println(httpCode);
    // Serial.println(payload);
    } 
    else {
        Serial.printf("[HTTP] GET... failed, error: %s\n", wlanHttp.errorToString(httpCode).c_str());
    }
 }
 else {
  Serial.println("Error on HTTP request");
 }

wlanHttp.end(); //Free the resources
© www.soinside.com 2019 - 2024. All rights reserved.