0

我正在使用 c++ 编写 CGI 脚本,我从客户端获取后期数据如果我有这样的后期数据

sam=1&sam2=3&sam5=65

解析选项的步骤是什么,我将把每一对放在 C++ 中的地图对象中?

我曾想过用“&”将值拆分为向量数组,然后用“=”拆分向量数组中的每个条目并将它们放入映射对象中,你怎么看?另外我想知道我能做些什么来处理格式错误的后期数据。

4

1 回答 1

0

您的前两个步骤是正确的。在 处分隔名称/值对,&并将名称与 处的值分开=。但是在将它们插入地图之前,您必须对名称进行 URL 解码,并对值进行 URL 解码

例如,+名称或值中的 a 应更改为空格。A%2B应替换为空格。%3D带等号的 A。

至于格式错误的帖子数据,它实际上取决于您的应用程序您认为格式错误的内容。您可能应该检查一个模棱两可的值,例如x=2=3. 是价值2=3还是3?您可以检查缺少的名称,例如=3或只是3.

但其余的取决于您的特定应用程序中合法的细节。

于 2012-09-04T22:35:12.243 回答