Изменить запрос POST в mod_perl2

Кто-нибудь знает, как получить доступ/изменить данные запроса POST, используя mod_perl2. В методе GET можно получить/установить строку запроса QUERY:

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

Как получить/установить строку запроса QUERY в методе POST?


person user372001    schedule 21.06.2010    source источник


Ответы (2)


Получите параметры POST с помощью Apache2::Request::param.

Для установки сначала получите объект APR::Request::Param::Table из метода body. Переbless в APR::Table, а затем используйте его методы для управления данными.

person daxim    schedule 21.06.2010

Я использую этот фрагмент кода 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, в моем случае я попал в бесконечный цикл какого-то короля «предварительной выборки filter.c (270) error», и запрос никогда не вернется.

person hko19    schedule 30.01.2011