如何解析POST主体/ GET参数

how to parse POST body / GET arguments?

本文关键字:GET 参数 主体 何解析 POST      更新时间:2023-10-16

所以我需要用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;
    }
  }
}

希望能有所帮助