Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: PUT a Multipart request in PERL ( lwp-mechanize-put-multipart-form.pl )

by Anonymous Monk
on Apr 13, 2015 at 09:08 UTC ( #1123254=note: print w/replies, xml ) Need Help??


in reply to PUT a Multipart request in PERL

Doing what I said seems to work to me

#!/usr/bin/perl -- use strict; use warnings; use WWW::Mechanize 1.73; my $ua = WWW::Mechanize->new; $ua->timeout(0.1); $ua->add_handler("request_send", sub { shift->dump; return }); $ua->add_handler("response_done", sub { shift->dump; return }); $ua->show_progress(1); $ua->put_multi( 'http://localhost', Content_Type => 'multipart/form-data', Content => [ fileuploadfieldname => [ undef, # filename_to_read or none in this case "filenamesent", -content => 'i sent you some content named filenamesent' ], ], ); sub WWW::Mechanize::put_multi { my( $self, $uri, @parameters ) = @_; $uri = $uri->url if ref($uri) eq 'WWW::Mechanize::Link'; $uri = $self->base ? URI->new_abs( $uri, $self->base ) : URI->new( $uri ); unshift @parameters, $uri->as_string; require HTTP::Request::Common; my @suff = $self->_process_colonic_headers(\@parameters,1); my $req = HTTP::Request::Common::POST( @parameters, ); $req->method('PUT'); return $self->request( $req, @suff ); } __END__ $ perl lwp-mechanize-put-multipart-form.pl ** PUT http://localhost ==> PUT http://localhost Accept-Encoding: gzip User-Agent: WWW-Mechanize/1.73 Content-Length: 163 Content-Type: multipart/form-data; boundary=xYzZY --xYzZY\r Content-Disposition: form-data; name="fileuploadfieldname"; filename=" +filenamesent"\r -Content: i sent you some content named filenamesent\r \r \r --xYzZY--\r\n 500 Can't connect to localhost:80 Content-Type: text/plain Client-Date: Thu, 02 Apr 2015 08:49:31 GMT Client-Warning: Internal response Can't connect to localhost:80\n No connection could be made because the target machine actively refuse +d it. at .../site/lib/LWP/Protocol/http.pm line 49.\n 500 Can't connect to localhost:80 (1s) Error PUTing http://localhost: Can't connect to localhost:80 at lwp-me +chanize-put-multipart-form.pl line 62.
  • Comment on Re: PUT a Multipart request in PERL ( lwp-mechanize-put-multipart-form.pl )
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1123254]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2018-07-20 22:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?















    Results (441 votes). Check out past polls.

    Notices?