我正在使用 c++ 编写 CGI 脚本,我从客户端获取后期数据如果我有这样的后期数据
sam=1&sam2=3&sam5=65
解析选项的步骤是什么,我将把每一对放在 C++ 中的地图对象中?
我曾想过用“&”将值拆分为向量数组,然后用“=”拆分向量数组中的每个条目并将它们放入映射对象中,你怎么看?另外我想知道我能做些什么来处理格式错误的后期数据。
我正在使用 c++ 编写 CGI 脚本,我从客户端获取后期数据如果我有这样的后期数据
sam=1&sam2=3&sam5=65
解析选项的步骤是什么,我将把每一对放在 C++ 中的地图对象中?
我曾想过用“&”将值拆分为向量数组,然后用“=”拆分向量数组中的每个条目并将它们放入映射对象中,你怎么看?另外我想知道我能做些什么来处理格式错误的后期数据。
您的前两个步骤是正确的。在 处分隔名称/值对,&
并将名称与 处的值分开=
。但是在将它们插入地图之前,您必须对名称进行 URL 解码,并对值进行 URL 解码。
例如,+
名称或值中的 a 应更改为空格。A%2B
应替换为空格。%3D
带等号的 A。
至于格式错误的帖子数据,它实际上取决于您的应用程序您认为格式错误的内容。您可能应该检查一个模棱两可的值,例如x=2=3
. 是价值2=3
还是3
?您可以检查缺少的名称,例如=3
或只是3
.
但其余的取决于您的特定应用程序中合法的细节。