Парсинг POST запроса со строковыми значениями
- Войдите на сайт для отправки комментариев
Пт, 13/03/2020 - 20:26
Доброго времени суток форумчане.
Ищу пример парсинга пост запроса типа:
/set_settings?ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Тут и строки и числа...
Если у кого имеется заделитесь пожалуйста!
Это не POST-запрос, а GET-запрос. Вам нужно распарсить query string? После ? - идут пары ключ=значение, разделитель - &. Парсится в соответствии с этими вводными. Не забывайте про то, что там могут быть escape-последовательности, например, %20 - это пробел. Подробнее - есть в RFC по HTTP.
Это совсем не запрос, а https://ru.wikipedia.org/wiki/URL.
Запрос выглядит вот так
Есть библиотека специально для парсинга всего, чего угодно.
Доброго времени суток форумчане.
Ищу пример парсинга пост запроса типа:
/set_settings?ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Тут и строки и числа...
Если у кого имеется заделитесь пожалуйста!
Многоуважаемые! Я говорю про конкретную строку, которую нужно парсить:
ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Есть ли рабочие примеры? За что буду сильно благодарен... И да... Выражения, могут же меняться местами, могут и отсутствовать.. Это как пример... За ранее спасибо!
Вам нужно распарсить query string? После ? - идут пары ключ=значение, разделитель - &. Парсится в соответствии с этими вводными. Не забывайте про то, что там могут быть escape-последовательности, например, %20 - это пробел. Подробнее - есть в RFC по HTTP.
Точно!
Многоуважаемые! Я говорю про конкретную строку, которую нужно парсить:
ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Вам нужен пример для этой конкретной строки? Боюсь, что таких нет.
Многоуважаемые! Я говорю про конкретную строку, которую нужно парсить:
ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Вам нужен пример для этой конкретной строки? Боюсь, что таких нет.
Многоуважаемые! Я говорю про конкретную строку, которую нужно парсить:
ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Есть ли рабочие примеры?
https://forum.arduino.cc/index.php?topic=44646.0
Многоуважаемые! Я говорю про конкретную строку, которую нужно парсить:
ipaddr=192.168.0.10&mask=255.255.255.0&gate=192.168.0.1&server=192.168.0.100&port=1000&udp=1
Есть ли рабочие примеры?
https://forum.arduino.cc/index.php?topic=44646.0
Спасибо за ссылку, но не компилистся тот пример...
WScript.h библиотека похоже не работает.
Чо сразу Wstring.h-то, она устала, она retired...
Если кому понадобится, решение получилось такое.
Если кому понадобится, решение получилось такое.
А что будет, если ему подсунуть строку из стартового поста?
Неужели правильно отработает?
Я б лучше подсунул cmd 50кб длиной и 50кб data :) Воистину, мир IoT - мир DoS :)
Я б лучше подсунул cmd 50кб длиной и 50кб data :)
Ну, я не садист, я скромненько предлагаю строчку, которая собственно и была затравочной в теме, без каких-либо изменений :-)
Лучше сразу с плеча, зато потом ботнетов типа Mirai меньше будет :) Хотя нет, всё равно ведь будут, ну не здесь, так в другом месте напарсят строк с шеллкодом :)
Если кому понадобится, решение получилось такое.
А что будет, если ему подсунуть строку из стартового поста?
Неужели правильно отработает?
Пост №5 и 6, я поправился
Я б лучше подсунул cmd 50кб длиной и 50кб data :) Воистину, мир IoT - мир DoS :)
Ну это ж кусок кода...
Чой-то вспомнилось - когда-то давно делал разбор пар ключ-значение для любого наследника Stream: https://github.com/Porokhnya/ArduinoParamsFromStream Там просто, как три копейки, и требует один промежуточный буфер, для каждой пары ключ=значение - вызывается callback. Можно там подсмотреть принцип, если вдруг...
З.Ы. Без претензий.
Пост №5 и 6, я поправился
Ну, Бог с Вами. Но уж хотя бы строку-то по ссылке передавайте или уж, на самый худой конец, проверяйте. Прибежите же потом "а чего у меня рандомно глючит". Чего ж Вы все так себя не любите-то?
Начинающие набаловались Srting ом, мозг включать не хотят (
Так что в условиях ограниченных ресурсов МК учиться программировать не хотят (
PS. Извиняюсь, может не в тему, выпил, депресняк, сегодня, молодому коллеге сисадмину пытался объяснить что делает echo в PHP и как это все работает - беда (
Объяснил или за второй побежали?
Когда смотрю на унутренности зенда, тоже иногда хочу за второй сбегать
Господа! Это же не профф. форум девелоперов софта для промышленных решений! Это ардуино! – платформа для изучения основ – так сказать!
Я до этого писал на VB, для меня действительно, ссылки на переменные и объекты пока сложно варятся. Но не отбивайте желание. Вкус приходит во время еды….
Когда смотрю на унутренности зенда, тоже иногда хочу за второй сбегать
Никогда не приходила мысль о необходимости разбора несломанного перфоратора или работающего смартфона? ;)
Это ардуино! – платформа для изучения основ – так сказать!
Совершенно наоборот. Ардуино делает всё возможное, чтобы пользователь с основами не сталкивался.
Никогда не приходила мысль о необходимости разбора несломанного перфоратора или работающего смартфона? ;)
Приходила. Только тогда это был не смартфон, а sony cmd-j5, j70 и иже с ними. После этой мысли появился, как это сейчас говорят, "разлок бутлоадера", а после него фреймворк, а далее всякие разные люди понаписали игр и приложений для этой серии. Что в условиях секции кода по 16 кб было вовсе непросто. Оверлеи на телефоне - сурово. ar-gcc работал под нестабильным тогда ещё cygwin, что добавляло изюминку.
Но не отбивайте желание.
Да, кто ж Вам отбивает? Я написал "поправьте" - нафига на ровном месте память дублировать? Там правки-то - один (!!!) символ вставить. Как править и почему я тут давно уж всем новичкам объяснил. Если у Вас совет поправить отбивает желание, возникают сомнения, а есть ли оно вообще.
Да, кто ж Вам отбивает? Я написал "поправьте" - нафига на ровном месте память дублировать? Там правки-то - один (!!!) символ вставить. Как править и почему я тут давно уж всем новичкам объяснил. Если у Вас совет поправить отбивает желание, возникают сомнения, а есть ли оно вообще.
Спасибо за ссылку!