Получить URL-адрес запроса на веб-сервере Arduino

#arduino #webserver #arduino-ide #nodemcu #arduino-esp8266

#arduino #веб-сервер #arduino-ide #nodemcu #arduino-esp8266

Вопрос:

Пытаюсь отобразить любое значение, отправленное на мой веб-сервер Arduino (mega WiFi r3), как мне это сделать? Заранее спасибо.

Используя этот пример, сервер прослушивает «ledOn», а затем выполняет действие, но я хочу, чтобы сервер прослушивал любой запрос, поступающий от клиентов, и отображал запросы на последовательном мониторе.

 server.on("ledOn", [](){
// My code     
  });
  

Комментарии:

1. @Juraj Большое вам спасибо. server.uri() делает именно то, что я хочу

Ответ №1:

Вы используете веб-серверную библиотеку esp8266 в ESP8266 на комбинированной плате. Ссылка находится в файле README, и в библиотеке есть хорошие примеры.

Функция для получения URL-адреса запроса является server.uri() .

Обычно для обработки запроса GET URL-адрес не считывается с помощью uri() функции, но часть ресурса (‘path’) сопоставляется с on() функциями в setup() as server.on("some/path", fncToHandle); , а параметры URL-адреса запроса GET анализируются библиотекой веб-сервера и становятся доступными с набором функций:

 const String amp; arg();
const String amp; argName();
int args();
bool hasArg();
  

стандартные параметры URL указаны после ? в форме name=value , разделенные amp; как

  /some/path?name=Johnamp;lastName=Smith
  

фрагменты из простого примера аутентификации:

От setup()

 server.on("/login", handleLogin);
  

От handleLogin :

   if (server.hasArg("USERNAME") amp;amp; server.hasArg("PASSWORD")) {
    if (server.arg("USERNAME") == "admin" amp;amp;  server.arg("PASSWORD") == "admin") {