我正在用ESP32编程ArduinoIDE,并且HTTP有问题。我在做的是:
这是我用于HTTP调用的代码:
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();
知道这里出了什么问题吗?
发布于 2020-10-14 17:25:12
这里令人困惑的是,ESP32有一个内置在http客户机中的HTTPClient。阿迪诺的名字叫HttpClient,我想找到那个决定这个名字的家伙,看看他是否还好。HTTPClient有一个名为getString()的例程,它是从json调用中收集信息的一种很好的方法,但是HttpClient不会用它进行编译,因为它不知道这是什么。
发布于 2020-05-17 12:19:06
在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
https://stackoverflow.com/questions/61856702
复制