[Perl] HTTP::Request méthode content

Kai Carver kaicarver at gmail.com
Mar 5 Avr 12:07:11 CEST 2016


Hello,

Si j'ai bien compris tu veux pouvoir passer le contenu/body d'une requête
genre POST par fichier, ce qu'on peut faire en ligne de commande comme ça :

curl -d @formdata.txt http://truc.com


J'ai pas trouvé moyen via LWP, mais je suis tombé* sur la classe *Furl *--
"Lightning-fast URL fetcher" (pas testée) qui a l'air de permettre de
spécifier un filehandle pour le contenu :
$furl->request([$request,] %args) :Furl::Response

Sends an HTTP request to a specified URL and returns a instance of
Furl::Response <https://metacpan.org/pod/Furl::Response>.

*%args* might be:
  ...
<https://metacpan.org/pod/Furl#content-:-Str-ArrayRef-Str-HashRef-Str-FileHandle>content
: Str | ArrayRef[Str] | HashRef[Str] | FileHandle

Content to request.
https://metacpan.org/pod/Furl

k

* via l'excellent comparatif "CPAN modules for making HTTP requests" de
Neil Bowers
http://neilb.org/reviews/http-requesters.html

2016-04-05 0:15 GMT+08:00 Dominique Asselineau <
asseline at telecom-paristech.fr>:

> Bonjour,
>
> En fait, ça concerne plus précisément la classe HTTP::Message héritée
> par HTTP::Request.
>
> La méthode content impose qu'on lui fournisse une chaîne d'octets et
> comme les données peuvent être volumineuses, j'aurais souhaité un
> moyen de passer soit un nom de fichier, soit un handle sur le fichier.
> J'ai tout de même remarqué la méthode content_ref qui éviterait une
> copie pour la transmission des données.  J'ai également vu qu'on
> pouvait effectivement passer un fichier mais seulement dans le cas de
> multipart, pour simuler un upload de fichier donc.
>
> Y a-t-il un moyen de passer un handle ou un nom de fichier à un objet
> de classe HTTP::Request, ou dois-je me contenter de la méthode
> content_ref ?  À moins qu'il existe une classe plus puissante pour ce
> genre d'opération ?
>
> Merci de votre aide.
>
> Dominique
>
> --
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20160405/578b1012/attachment.html>


Plus d'informations sur la liste de diffusion Perl