【问题标题】:Modify POST request in mod_perl2在 mod_perl2 中修改 POST 请求
【发布时间】:2011-03-06 05:33:00
【问题描述】:

有谁知道如何使用 mod_perl2 访问/修改 POST 请求数据。 在 GET 方法中可以获取/设置请求 QUERY 字符串:

  $args      = $r->args();
  $prev_args = $r->args($new_args);

如何在POST方法中获取/设置请求QUERY字符串?

【问题讨论】:

    标签: perl apache2 mod-perl2 http-post


    【解决方案1】:

    使用Apache2::Request::param获取POST参数。

    要设置,首先从body 方法中获取一个APR::Request::Param::Table 对象。将bless 转成APR::Table 对象,然后使用它的方法来操作数据。

    【讨论】:

      【解决方案2】:

      我使用这个 mod_perl2 代码 sn-p 成功解析出通过 POST 方法提交的表单字段值:

      use CGI;
      
      my $req = CGI->new($r);
      my $field_value = $req->param('form_field');
      

      如果您不使用use CGI;,如上图所示,请改用以下代码:

      my $req = Apache2::Request->new($r);
      my $field_value = $req->param('form_field');
      

      你可能会在 GET 方法中成功。但是,在通过 POST 方法获取请求时,就我而言,我陷入了一些“预取 filter.c(270) 错误”之王的无限循环,并且请求永远不会返回。

      【讨论】:

        猜你喜欢
        • 2011-06-15
        • 1970-01-01
        • 2021-12-12
        • 1970-01-01
        • 2014-03-05
        • 2017-12-15
        • 2019-01-15
        • 1970-01-01
        • 2021-12-05
        相关资源
        最近更新 更多