在 mod_perl2 中修改 POST 请求
Posted
技术标签:
【中文标题】在 mod_perl2 中修改 POST 请求【英文标题】:Modify POST request in mod_perl2 【发布时间】:2011-03-06 05:33:00 【问题描述】:有谁知道如何使用 mod_perl2 访问/修改 POST 请求数据。 在 GET 方法中可以获取/设置请求 QUERY 字符串:
$args = $r->args();
$prev_args = $r->args($new_args);
如何在POST方法中获取/设置请求QUERY字符串?
【问题讨论】:
【参考方案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) 错误”之王的无限循环,并且请求永远不会返回。
【讨论】:
以上是关于在 mod_perl2 中修改 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章