修改mod_perl2中的POST请求

时间:2010-06-21 09:16:56

标签: perl apache2 mod-perl2 http-post

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

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

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

2 个答案:

答案 0 :(得分:5)

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

要设置,首先从body方法获取APR::Request::Param::Table个对象。将bless重新APR::Table到{{3}}对象中,然后使用其方法操作数据。

答案 1 :(得分:1)

我使用此mod_perl2代码段成功解析通过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方法获取请求时,在我的情况下,我进入了“prefetching filter.c(270)错误”的无限循环,请求将永远不会返回。