4 votes

Comment puis-je faire une requête HTTP PUT en perl qui contient des données au format application/x-www-form-urlencoded?

Comment puis-je faire une requête HTTP PUT en Perl qui contient des données application/x-www-form-urlencoded?

Voici une requête POST équivalente qui fonctionne :

my $ua       = new LWP::UserAgent;
my $response = $ua->post(
    $url,
    {
        "parameter1" => $value1,
        "parameter2" => $value2
    }
);

Comment cela pourrait-il être fait en tant que requête PUT? Il n'y a pas de méthode put dans LWP et la PUT fonction dans HTTP::Request::Common ne prend pas de données de formulaire.

Pour une discussion si une requête PUT avec des données de formulaire est autorisée, voir Can HTTP PUT request have application/x-www-form-urlencoded as the Content-Type?

Il s'agit d'un exemple de requête PUT, mais il ne contient pas de code pour encapsuler les données de formulaire : How to make a HTTP PUT request using LWP?

7voto

Denis Ibaev Points 2416

Il suffit de faire une requête POST et de changer sa méthode en PUT :

use HTTP::Request::Common;

my $req = POST('http://example.com/', Content => [param => 'value']);

$req->method('PUT');

say($req->as_string);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X