为什么Esp8266 HTTP客户端收不到数据?
Why Esp8266 HTTP client cannot receive data?
当我向浏览器输入 serverName 时,它 returns 一个 json 对象。但是在这里,它 Serial.print(payload) returns -1。
我该如何解决这个问题?
void loop() {
if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status
HTTPClient http; //Declare an object of class HTTPClient
http.begin(serverName); //Specify request destination
int httpCode = http.GET();
//Send the request
if (httpCode > 0) { //Check the returning code
String payload = http.getString(); //Get the request response payload
Serial.println(payload); //Print the response payload
}
http.end(); //Close connection
}
delay(10000); //Send a request every 30 seconds
}
使用 http 而不是 https。
如果要使用 https,则必须指定服务器证书的 SHA1 指纹。如何做到这一点很容易用谷歌搜索。
有些图书馆会允许 client->setInsecure();
,但我不会去那里,因为不安全。
当我向浏览器输入 serverName 时,它 returns 一个 json 对象。但是在这里,它 Serial.print(payload) returns -1。 我该如何解决这个问题?
void loop() {
if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status
HTTPClient http; //Declare an object of class HTTPClient
http.begin(serverName); //Specify request destination
int httpCode = http.GET();
//Send the request
if (httpCode > 0) { //Check the returning code
String payload = http.getString(); //Get the request response payload
Serial.println(payload); //Print the response payload
}
http.end(); //Close connection
}
delay(10000); //Send a request every 30 seconds
}
使用 http 而不是 https。
如果要使用 https,则必须指定服务器证书的 SHA1 指纹。如何做到这一点很容易用谷歌搜索。
有些图书馆会允许 client->setInsecure();
,但我不会去那里,因为不安全。