如何解析POST主体/ GET参数
how to parse POST body / GET arguments?
所以我需要用N个参数解析这样的字符串login=julius&password=zgadnij&otherArg=Value
,每个参数将有一个值。您可以在POST请求和ti GET参数中找到这样的参数。那么如何使用Boost为这些字符串创建解析器呢?
- 在
&
上分裂 - 在
=
上分割结果部分 - url -解码(!)名称和值部分
在这个问题中,正如Tomalak提到的,正则表达式可以是一个小过度。如果您的实际输入更复杂,并且需要正则表达式,则可以下面的代码说明了它的用法?
int main() {
using namespace std;
using namespace boost;
string s = "login=julius&password=zgadnij&otherArg=Value";
regex re_amp("&"), re_eq("=");
typedef sregex_token_iterator sti;
typedef vector< string > vs;
typedef vs::iterator vsi;
sti i( s.begin(), s.end(), re_amp, -1 ), sti_end;
vs config( i, sti_end ); // split on &
for ( vsi i = config.begin(), e = config.end(); i != e; ++ i ) {
// split on =
vs setting( sti( i->begin(), i->end(), re_eq, -1 ), sti_end );
for ( vsi i2 = setting.begin(), e2 = setting.end(); i2 != e2; ++ i2 ) {
cout<< *i2 <<endl;
}
}
}
希望能有所帮助
相关文章:
- c++程序,在windows下发送带有参数的http get请求
- C++11: 如何编写一个像 Get 一样工作的模板函数<tuple>...但是收到参数包?
- C++:传递像 unique_ptr:get() 这样的参数来函数是否安全?
- clang::ast_type_traits::D ynTypedNode::get() 无法推断模板参数'T'
- friend get 函数,返回通过可变参数模板递归计算的类型
- 在C++中编写简单的 get/set 方法时,是否应始终使用 const 引用作为参数
- ifstream 函数"get"如何改变其字符参数?
- 使用C++获取HTTP get参数
- 使用 std::get 作为 std::transform 的参数
- libcurl C++添加 HTTP get 参数
- std::get 使用枚举类作为模板参数
- 带有参数的 HTTP GET 请求
- 如何使用object.get()将文本读取到一个参数比文本大的2D数组中(2D数组有更多的行和列)
- 为什么std::get使用模板参数而不是常规参数
- 使用带有参数cin.get()或.geline()的函数调用
- 基于不断变化的参数/变量的XML get值
- std::get<I>( std::tuple& ) 作为模板参数
- 使用可变参数模板实现 Get (元组) 得到"parameter packs not expanded with ‘...’"错误
- 我如何将参数传递给qnetworkrequest get方法
- 如何解析POST主体/ GET参数