2010-06-21 3 views
6

Kann jemand die POST-Anfragedaten mit mod_perl2 zugreifen/ändern. IN GET-Methode kann man erhalten/das Anforderungs QUERY string:Ändern der POST-Anfrage in mod_perl2

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

Wie die Anfrage QUERY Zeichenfolge in POST-Methode erhalten/einstellen?

Antwort

5

Erhalten Sie POST-Parameter mit Apache2::Request::param.

Zum Festlegen zuerst ein Objekt APR::Request::Param::Table von der body Methode abrufen. Re bless es in ein APR::Table Objekt, dann verwenden Sie seine Methoden, um die Daten zu manipulieren.

1

Ich benutze diesen mod_perl2 Code-Schnipsel, um erfolgreich zu einem Formular-Feld-Wert über POST-Methode abgegeben parsen:

use CGI; 

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

Wenn Sie nicht use CGI;, wie oben dargestellt, und verwenden Sie stattdessen den folgenden Code:

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

Sie werden wahrscheinlich in GET-Methode erfolgreich sein. Während ich jedoch eine Anfrage über die POST-Methode erhielt, kam ich in meinem Fall in die Endlosschleife eines Königs von 'prefetching filter.c (270) error' und die Anfrage wird niemals zurückkehren.