cgicc - cgi.getElements(),哪个方法?得到或发布?

时间:2013-09-30 07:30:50

标签: c++ post web get cgi

cgicc可以很好地处理表单元素,但我怎么知道数据是从get_method还是post_method生成的?

我使用的代码:

cout << "Content-type:text/html\r\n\r\n";
try {    
    Cgicc cgi;
    const_form_iterator iter;
    for(iter = cgi.getElements().begin(); 
        iter != cgi.getElements().end(); 
        ++iter){
        cout << 
        "<table><tr>"   <<
        "<td>" << iter->getName() << "</td>"  << 
        "<td>" << iter->getValue() << "</td>" << 
        "</tr></table>" << endl;
    }
}catch(exception& e) {
    cout << e.what() << endl;
}

更新

我从cgicc官方网页上找到了这个:“透明地解析GET和POST格式数据。” (http://www.gnu.org/software/cgicc/

似乎cgicc不希望按设计分开获取和发布?

2 个答案:

答案 0 :(得分:1)

您可以使用cgicc::CgiEnvironment::getRequestMethod

找到请求的HTTP方法(“。{。GETPOST等...)

答案 1 :(得分:0)

我认为解决此问题的唯一方法是检查GET方法查询字符串中是否存在与POST方法中变量名称相同的变量名称。这意味着必须仅在两种方法之一中提及变量名。换句话说,如果将GET方法的变量与POST的变量组合在一个集合中,则变量名在该集合中必须被提及一次。