Arduino HTTPClient передача строки в переменную
По какой-то причине я не могу передать простую строку из одной переменной в другую. Ниже мой код:
HTTPClient http; // Объявляем объект класса HTTPClient
http.begin(address); // Укажите пункт назначения запроса
int httpCode = http.GET(); // Отправляем запрос
Serial.println("String: " + http.getString());
String prp = http.getString();
Serial.println("temp string: " + prp);
Он выводит:
Строка: < ! DOCTYPE HTML> 26
временная строка:
Почему моя строка не передается правильно во временную строковую переменную?
Том
@Tom Schoehuijs, 👍0
1 ответ
Лучший ответ:
▲ 3
Метод getString() вызывает writeToStream
, который документирован как запись всего тела сообщения / полезной нагрузки в Stream
. Он записывает все данные http-ответа в выходной файл и не сохраняет их внутри. Следующий вызов не будет ничего читать, потому что первый вызов getString() вывел все.
,
@Juraj
Смотрите также:
- Как составить URL-адрес HTTP-запроса GET с параметрами ключ/значение
- Как заменить объекты String массивами символов, продолжая использовать строковые методы
- Преобразование строки в IP-адрес
- HTTP GET запрос с использованием Arduino Uno и ESP8266
- ESP8266 Ошибка неверного запроса 400
- Как передать строковые данные с помощью библиотеки rc-switch?
- ESP8266 отправляет веб-страницу клиенту, но html-коды отображаются в браузере вместо веб-страницы
- Какова цель F() и FPSTR() в ESP8266WebServer -> FSBrowser?