псевдо шаги для разбора http-данных поста

Я программирую CGI-скрипт на C ++, где я получаю пост-данные от клиента
Если у меня есть пост-данные, как это

sam=1&sam2=3&sam5=65

Какие шаги для анализа параметров, где я буду помещать каждую пару в объект карты в C ++?

Я думал о разделении значений по&’в векторный массив, затем разделяя каждую запись в векторном массиве с помощью’ = ‘и помещая их в объект карты, как вы думаете? Также я хочу знать, что я могу сделать, чтобы справиться с искаженными данными.

0

Решение

У вас есть первые два правильных шага. Разделите пары имя / значение на & и отделить имя от значения на =, Но тогда ты должен Декодирование URL имя и URL декодируют значение перед тем, как вставить их в карту.

Например, + в имени или значении следует заменить на пробел. %2B должен быть заменен пробелом. %3D со знаком равенства.

Что касается искаженных почтовых данных, то от вашего приложения будет зависеть, что вы считаете некорректным. Вы, вероятно, должны проверить на неоднозначное значение, как x=2=3, Является ли значение 2=3 или же 3? И вы можете проверить на отсутствие имени, как =3 или просто 3,

Но остальное зависит от специфики того, что законно в вашей конкретной заявке.

0

Другие решения

Других решений пока нет …