• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 порту в интернет на сайт, почему так.
 
Сверху Снизу