2010-06-21 10 views
6

Qualcuno sa come accedere/modificare i dati della richiesta POST usando mod_perl2. IN metodo GET si può ottenere/impostare la stringa di query della richiesta:Modifica richiesta POST in mod_perl2

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

Come ottenere/impostare la stringa di query richiesta metodo POST?

risposta

5

Ottieni parametri POST con Apache2::Request::param.

Per impostare, innanzitutto ottenere un oggetto APR::Request::Param::Table dal metodo body. Re bless in un oggetto APR::Table, quindi utilizzare i suoi metodi per manipolare i dati.

1

Io uso questo codice mod_perl2 frammento di analizzare con successo il valore del campo di un modulo inviato tramite metodo POST:

use CGI; 

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

Se non use CGI; come sopra illustrato, e invece, utilizzare il seguente codice:

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

Probabilmente avrai successo nel metodo GET. Tuttavia, mentre ricevo la richiesta tramite il metodo POST, nel mio caso, sono entrato nel ciclo infinito di alcuni re di 'prefetching filter.c (270) error' e la richiesta non tornerà mai più.