Добрый день! Почти год есп-шка передавала данные (температуру) на сервер и вдруг отказалась это делать. Если я захожу по ссылке из браузера на сервер, все ок, если запрос из модуля - ошибка 400. На скрине два запроса - из браузера и из модуля, один успешный, второй 400. Видно, что в запрос не инклюдится HTTP/1.1. Но этот же код успешно работал. Что не так не пойму.
Если я правильно понял, то есп работает в роли клиента. Сервер делает тот-же запрос о температуре, что и "модуль"?
Модуль -это esp8266, клиент, из ардуино получает значения датчиков и отсылает их на веб-сервер get-запросом. Больше ничего не делает. И если раньше отрабатывал нормально, то теперь по логам веб-сервера вижу, что запросы поступают, но сервер их отклоняет с ошибкой 400.
Попробуйте код запроса клиента оформить так: Код (C++): String s; s = "GET /weatcher/"; s += String(temp); // temp я так понимаю, что это переменная? s += все остальное.... client.print(s);
Спасибо за помощь. Итак, пишу, как Вы советуете запрос. В мониторе порта отправляю температуру (temp), пусть 100. В ответ для проверки того, что уходит, вывожу строку запроса. Далее гляжу лог. Ошибка 400. Далее захожу в браузер ввожу строку запроса с переменной 100 и смотрю опять лог. Сейчас все ок, 200, в БД пишется температура.
походу тут два варианта: либо ошибка в коде отправки (например, есп не успела отправить запрос, как закрываете соединение), либо какая-то защита на сервере, например, проверка на наличие кук