jonmatrix
New member
Добрый день, сейчас попробую объяснить... использую AsyncWebServer и переодический отправляю https запрос на удаленный адрес библиотекой WiFiClient читать json, так вот на AsyncWebServer у меня крутится web сервер на esp это понятно, но после подключения к esp по ip адресу и загрузки страниц. get запрос на удаленный адрес в сети интернет уже не проходит не подключается к серверу. так вот, можно реализовать get запрос библиотекой AsyncWebServer, именно https без проверки сетрификата, ответ записать в переменную string что бы не чего не отваливалось.
Пример запроса get:
Пример запроса 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(); // Разрываем соединение с сервером