• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Esp 8266 AsyncWebServer

jonmatrix

New member
Добрый день, сейчас попробую объяснить... использую AsyncWebServer и переодический отправляю https запрос на удаленный адрес библиотекой WiFiClient читать json, так вот на AsyncWebServer у меня крутится web сервер на esp это понятно, но после подключения к esp по ip адресу и загрузки страниц. get запрос на удаленный адрес в сети интернет уже не проходит не подключается к серверу. так вот, можно реализовать get запрос библиотекой AsyncWebServer, именно https без проверки сетрификата, ответ записать в переменную string что бы не чего не отваливалось.
Пример запроса get:
C++:
BearSSL ::WiFiClientSecure clientt;
void TimeAndWeather () {                                                    // Функция синхронизации времени работы программы с реальным временем и получения информации о погоде
Serial.println("coneck");
clientt.setInsecure();
clientt.setTimeout (1000);
  if (clientt.connect("yandex.com",443)) {                                   // Если удаётся установить соединение с указанным хостом (Порт 443 для https)
    clientt.println("GET /time/sync.json?geo=" + wather_id_client + " HTTP/1.1\r\nAccept-language: ru-RU,ru;q=0.8\r\nHost: yandex.com\r\nConnection: close\r\n\r\n"); // Отправляем параметры запроса
    Serial.println("Zapros");
    delay(200);                                                             // Даём серверу время, чтобы обработать запрос
    char endOfHeaders[] = "\r\n\r\n";                                       // Системные заголовки ответа сервера отделяются от остального содержимого двойным переводом строки
    if (!clientt.find(endOfHeaders)) {                                       // Отбрасываем системные заголовки ответа сервера
      Serial.println("Invalid response");                                   // Если ответ сервера не содержит системных заголовков, значит что-то пошло не так
      //return false;                                                         // и пора прекращать всё это дело
    }
    
    //Serial.println("chitaem dannie"); 
  String line2;
  while ( clientt.available() )
  {
    char c = clientt.read();
    line2 += c;
  }
 
  clientt.stop(); // Разрываем соединение с сервером
 

jonmatrix

New member
Точнее. я обновляю время и погоду с яндекса на свой веб серверScreenshot_1.png
Вот после перезагрузки страницы моего веб сервера, get запросы уже не проходят до яндекса
 

jonmatrix

New member
Немогу библиотеки <WiFiClient.h> и <ESPAsyncWebServer.h> заставить вместе работать, догадываюсь что перет запросом get что то нужно прописать, только что...
 

jonmatrix

New member
Вообщем если я стучу из браузера в есп по 80 порту то есп уже не может достучатся по 443 порту в интернет на сайт, почему так.
 
Сверху Снизу