HTTP-запрос JSON API отвечает «-1»

Я пытаюсь создать REST API, который Arduino с модулем ESP8266 может GET, но когда я пытаюсь отправить запрос на мой сервер, HTTP-код, который я получаю, -1, который я нигде не смог найти никакой документации (ее нет в списке кодов HTTP-статуса Вот).

Мой тест-API, который я получаю -1 ответ от Вот, в то время как этот API работает нормально. Мой API прост:

PHP API:

header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');

$array = array(
"status" => true
);

echo json_encode($array);

Arduino код это только один из примеров ESP8266, и выглядит так:

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

const char* ssid = "Next-Guest";
const char* password = "";

void setup () {

Serial.begin(115200);
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(1000);
Serial.print("Connecting..");

}

}

void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;

//http.begin("http://jsonplaceholder.typicode.com/users/1"); <- this works
http.begin("https://makerspace.albe.pw/api/getDoorStatus.php"); // <- this doesn't
int httpCode = http.GET();

Serial.println(httpCode);
if (httpCode > 0) {
String payload = http.getString();
Serial.println(payload);
}
http.end();
}
delay(30000);
}

Я могу выполнить GET-запрос локально с любого компьютера на мой API, используя jQuery AJAX, поэтому он должен быть несколько открытым?

Является ли проблема с моим хостом, или в моих файлах отсутствуют некоторые заголовки?

-1

Решение

При доступе к домену, защищенному с помощью сертификата SSL (https), необходимо указать отпечаток SSL в качестве второго параметра в http.begin функция:

String thumbprint = "the_thumbprint";
http.begin("https://api.site/api/get_details.json", thumbprint);
1

Другие решения

Других решений пока нет …