Страница 1 из 1

Передача переменных методами GET и POST

Добавлено: 12 фев 2019, 10:03
bolshoyplohish
Как передать переменные методами GET и POST для их дальнейшей обработки микроконтроллером esp 8266 в качестве web server-a? :smile37:

Передача переменных методами GET и POST

Добавлено: 12 фев 2019, 11:35
Cancertanly
такую строчку отправлять через вебклиента - GET /name.php?value=peremennaya
я так отправляю, тольк я не знаю как вы собираетесь на есп делать страничку и как к ней обращаться

Передача переменных методами GET и POST

Добавлено: 12 фев 2019, 12:21
Anydy
С ЕСП запрос можно передать, а вот принять на ЕСП нет, на приемной стороне должен крутится интерпретатор PHP

Передача переменных методами GET и POST

Добавлено: 01 авг 2019, 19:01
ivanpost
Anydy писал(а): 12 фев 2019, 12:21 С ЕСП запрос можно передать, а вот принять на ЕСП нет, на приемной стороне должен крутится интерпретатор PHP
Не подскажете, как POST запрос передать с Esp ?

Передача переменных методами GET и POST

Добавлено: 02 авг 2019, 00:19
Anydy
Зависит от сервера на который передаете, например для сервиса narodmon.ru так (из их инструкции)

Код: Выделить всё

POST http://narodmon.ru/post HTTP/1.0\r\n
Host: narodmon.ru\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: NN(кол-во байт в строке данных ниже)\r\n
\r\n
ID=MAC&mac1=value1&...&macN=valueN[&time=UnixTime][&name=название][&lat=широта][&lng=долгота]
Как сделать штатными средствами ФЛпрог я не знаю, не пробовал....возможно написать свой блок

Передача переменных методами GET и POST

Добавлено: 18 авг 2019, 01:03
hayk
bolshoyplohish писал(а): 12 фев 2019, 10:03 Как передать переменные методами GET и POST для их дальнейшей обработки микроконтроллером esp 8266 в качестве web server-a? :smile37:
Можно передать переменную string с браузера на сервер get запросом,над post запросом пока работаю. У меня связка 2560 и w5100,ну и на esp тоже пойдет,мне кажется.Набираю в поле ввода в браузере строку,получаю на контроллере переменную.

Передача переменных методами GET и POST

Добавлено: 22 сен 2020, 20:51
look
Купил китайский модуль с Ethernet, который понимает команду вида:

Код: Выделить всё

Http:/192.168.1.4/30000/00: реле-01 выключено
Http:/192.168.1.4/30000/01: реле-01 ON
Http:/192.168.1.4/30000/02: реле-02 выключено
Http:/192.168.1.4/30000/03: реле-02 ON
Http:/192.168.1.4/30000/04: реле-03 выключено
Http:/192.168.1.4/30000/05: реле-03 ON
Http:/192.168.1.4/30000/14: реле-16 выключено
Http:/192.168.1.4/30000/15: реле-16 ON
Http:/192.168.1.4/30000/41: введите
Http:/192.168.1.4/30000/40 : Exit
Http:/192.168.1.4/30000/42: Следующая страница
Http:/192.168.1.4/30000/43: Следующая страница
Изображение
Как в среде FLProg cсоздать GET запрос?
Рыл в сторону веб клиента, но так и не соображу. :smile44:
Прогуглил несколько часов, так и не нашёл ответ.

Передача переменных методами GET и POST

Добавлено: 12 окт 2020, 19:26
urqagun
Второй день бьюсь на есп8266 с веб клиентом.... не отправляются запросы и все тут... может автор для есп не доделал?

Передача переменных методами GET и POST

Добавлено: 14 дек 2020, 00:41
Сергей
Всем привет. Сто лет не писал на форуме....
Сейчас занялся реализацией сохранения данных с ардуино в MySQL, для дальнейшей обработки и вставку данных в страницы сайта, где они будут отображаться (не суть). 1 этап это сохранение в БД.
look писал(а): 22 сен 2020, 20:51 Прогуглил несколько часов, так и не нашёл ответ.
Плохо гуглил. Хотя с первого раза сложно это освоить. Сам уже пару недель разбираюсь.
look писал(а): 22 сен 2020, 20:51 Как в среде FLProg cсоздать GET запрос?
Прогуглил несколько часов, так и не нашёл ответ.
В двух словах так (создав пользовательский блок):

client.println( "GET /имя_файла_в_корне_сайта_с_php_кодом.php?t="+переменная1+"&h="+пременная2+" HTTP/1.1");
client.println( "Host: "+ (String)server);
client.println( "Connection: close" );
client.println();
client.println();
client.stop();
client.flush();

Мне средствами ФЛпрог отправить данные на сервер не удастся т. к. есть сайт на хостинге, там "заныкана" требуемая страница с php кодом, который сохраняет принятые данные из GET запроса. Сайт есть, а прямого IP нет. Поэтому ковыряю код.

Вообщем на данный момент отправляя запрос из браузера - данные сохраняются в БД.
Отправляя запросы с ардуинки - не сохраняются.
По логам хоста видно что GET запросы приходят, но в ответ сервер посылает коды 301 262 (что-то с редиректом связанно). Благодаря логам увидел что в запросе вначале передавались имена переменных в виде текста, а не их значения. Пришлось конвертировать значения в строку средствами ФЛПрог, и уже строкой добавлять в запрос.

Пока разбираюсь. Первый раз делаю. Не пойму что с редиректом делать и в какую сторону копать....
Если кто то уже с этим сталкивался и получил положительный результат - подскажите!

Передача переменных методами GET и POST

Добавлено: 14 дек 2020, 01:33
grin-mpx
Может это чем поможет...
В проекте есть пользовательский блок для ESP, который отправлял данные на сайт методом Get запроса, а там php скрипт разбирал данные и растыкивал по базе MySQL. Давно это было, тонкостей не помню.
ZZZ ESP Send-2.flp

Передача переменных методами GET и POST

Добавлено: 14 дек 2020, 22:18
AlexCrane
Вот попроще
ESP32 GET запрос.flp
ESP8266 GET запрос.flp
Строку с запросом формировать сложением строк, параметры разделять знаком & и т.д. и т.п.

Передача переменных методами GET и POST

Добавлено: 15 дек 2020, 21:27
Сергей
Сергей писал(а): 14 дек 2020, 00:41 Вообщем на данный момент отправляя запрос из браузера - данные сохраняются в БД.
Отправляя запросы с ардуинки - не сохраняются.
По логам хоста видно что GET запросы приходят, но в ответ сервер посылает коды 301 262 (что-то с редиректом связанно).
Эта проблема решена. Цитата от техподдержки:
"Ответ сервера 301 связан с настройками перенаправления с протокола http:// на протокол https://. Правила перенаправления указаны в файле .htaccess находящегося в корневой директории сайта.
Вами используется услуга виртуального хостинга, на которой нет доступа к конфигурационным файлам веб-серверов, т.е. произвести их настройку нельзя. Такая возможность имеется только на VPS серверах где вам предоставляется пароль пользователя root."
Потом они убрали редирект для файла test.php и все заработало.
То есть, имея хостинг, имея на нем сайт (в будущем мыже хотим что бы от сайа польза была, пользователи регистрировались.... Значит нужен ssl сертификат. А это уже будет перенаправление всех запросов на протокол https, и почему то от ардуино данные не сохранялись в БД. После приняли решение создать в корне основного сайта отдельную папку и отключить для нее редирект. А в этой папке уже размещать требуемые php файлы.