Проблемы с запросами https при использовании ESP8266 - PullRequest
0 голосов
/ 07 марта 2020

Итак, я пытаюсь сделать запрос http на веб-сайт, который использует только https, мой код работает нормально, когда задействована ссылка http, но когда это https, он возвращает -1 и не предоставляет мне данные. (PS. Из соображений безопасности удалил секретный ключ, но я использую его при тестировании)

код:

#include <ArduinoJson.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
ESP8266WebServer server(80);

const char* ssid = ""; //Enter Wi-Fi SSID
const char* password =  ""; //Enter Wi-Fi Password
IPAddress ip(192, 168, 0, 38);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(8,8,8,8); 

Adafruit_BME280 bme;

  String webString="";
  HTTPClient http;
  int httpCode=0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  WiFi.begin(ssid, password);  //Connect to the WiFi network

  while (WiFi.status() != WL_CONNECTED) {  //Wait for connection
      delay(500);
      Serial.println("Waiting to connect...");
  }

  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //Print the local IP

  server.on("/", handle_index); //Handle Index page

  server.begin(); //Start the server
  Serial.println("Server listening");

  http.addHeader("contentType", "application/json");
  http.addHeader("secret-key", "");
  http.begin("https://api.jsonbin.io/b/5e639f1e74ed8a66ce73d5ad");

  httpCode= http.GET();
  Serial.println(httpCode);
  String payload="";
  payload=http.getString();
  Serial.println(payload);
  http.end();

}
...