2010-06-21 19 views
6

Est-ce que quelqu'un sait comment accéder/modifier les données de la requête POST en utilisant mod_perl2. dans la méthode GET, on peut obtenir/définir la demande chaîne de requête:Modifier la requête POST dans mod_perl2

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

Comment obtenir/définir la demande chaîne de QUERY dans la méthode POST?

Répondre

5

Récupère les paramètres POST avec Apache2::Request::param.

Pour définir, obtenez d'abord un objet APR::Request::Param::Table à partir de la méthode body. Re bless dans un objet APR::Table, puis utiliser ses méthodes pour manipuler les données.

1

J'utilise cet extrait de code mod_perl2 pour analyser avec succès la valeur du champ d'un formulaire soumis via la méthode POST:

use CGI; 

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

Si vous n'êtes pas use CGI; comme illustré ci-dessus, et au lieu, utilisez le code suivant:

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

Vous réussirez probablement dans la méthode GET. Cependant, tout en recevant la requête via la méthode POST, dans mon cas, je suis entré dans la boucle infinie de certains d'un roi de 'prefetching filter.c (270) error' et la requête ne retournera jamais.