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

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

Контроллеры на основе ESP8266
Ответить
bolshoyplohish
Рядовой
Сообщения: 4
Зарегистрирован: 12.02.2019{, 08:17}
Репутация: 0
Имя: Alex

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

#1

Сообщение bolshoyplohish » 12.02.2019{, 10:03}

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

Аватара пользователя
Cancertanly
Сержант
Сообщения: 214
Зарегистрирован: 06.04.2016{, 19:59}
Репутация: 20
Откуда: bish
Имя: Антон

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

#2

Сообщение Cancertanly » 12.02.2019{, 11:35}

такую строчку отправлять через вебклиента - GET /name.php?value=peremennaya
я так отправляю, тольк я не знаю как вы собираетесь на есп делать страничку и как к ней обращаться
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino

Anydy

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

#3

Сообщение Anydy » 12.02.2019{, 12:21}

С ЕСП запрос можно передать, а вот принять на ЕСП нет, на приемной стороне должен крутится интерпретатор PHP

Аватара пользователя
ivanpost
Сержант
Сообщения: 140
Зарегистрирован: 24.09.2016{, 22:26}
Репутация: 4
Откуда: Тольятти
Имя: Иван
Контактная информация:

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

#4

Сообщение ivanpost » 01.08.2019{, 19:01}

Anydy писал(а):
12.02.2019{, 12:21}
С ЕСП запрос можно передать, а вот принять на ЕСП нет, на приемной стороне должен крутится интерпретатор PHP
Не подскажете, как POST запрос передать с Esp ?

Anydy

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

#5

Сообщение Anydy » 02.08.2019{, 00:19}

Зависит от сервера на который передаете, например для сервиса 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=долгота]
Как сделать штатными средствами ФЛпрог я не знаю, не пробовал....возможно написать свой блок

hayk
Сержант
Сообщения: 108
Зарегистрирован: 27.07.2016{, 03:06}
Репутация: 21
Откуда: Yerevan
Имя: Hayk

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

#6

Сообщение hayk » 18.08.2019{, 01:03}

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

look
Рядовой
Сообщения: 7
Зарегистрирован: 22.09.2020{, 20:39}
Репутация: -1
Имя: Дмитрий

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

#7

Сообщение look » 22.09.2020{, 20:51}

Купил китайский модуль с 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:
Прогуглил несколько часов, так и не нашёл ответ.

urqagun
Рядовой
Сообщения: 74
Зарегистрирован: 12.10.2020{, 19:16}
Репутация: 12
Имя: Юрий

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

#8

Сообщение urqagun » 12.10.2020{, 19:26}

Второй день бьюсь на есп8266 с веб клиентом.... не отправляются запросы и все тут... может автор для есп не доделал?

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

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

#9

Сообщение Сергей » 14.12.2020{, 00:41}

Всем привет. Сто лет не писал на форуме....
Сейчас занялся реализацией сохранения данных с ардуино в MySQL, для дальнейшей обработки и вставку данных в страницы сайта, где они будут отображаться (не суть). 1 этап это сохранение в БД.
look писал(а):
22.09.2020{, 20:51}
Прогуглил несколько часов, так и не нашёл ответ.
Плохо гуглил. Хотя с первого раза сложно это освоить. Сам уже пару недель разбираюсь.
look писал(а):
22.09.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 (что-то с редиректом связанно). Благодаря логам увидел что в запросе вначале передавались имена переменных в виде текста, а не их значения. Пришлось конвертировать значения в строку средствами ФЛПрог, и уже строкой добавлять в запрос.

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

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

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

#10

Сообщение grin-mpx » 14.12.2020{, 01:33}

Может это чем поможет...
В проекте есть пользовательский блок для ESP, который отправлял данные на сайт методом Get запроса, а там php скрипт разбирал данные и растыкивал по базе MySQL. Давно это было, тонкостей не помню.
ZZZ ESP Send-2.flp
(753.96 КБ) 94 скачивания

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#11

Сообщение AlexCrane » 14.12.2020{, 22:18}

Вот попроще
ESP32 GET запрос.flp
(47.9 КБ) 86 скачиваний
ESP8266 GET запрос.flp
(38.02 КБ) 127 скачиваний
Строку с запросом формировать сложением строк, параметры разделять знаком & и т.д. и т.п.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

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

#12

Сообщение Сергей » 15.12.2020{, 21:27}

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

Ответить

Вернуться в «ESP8266»