in reply to Re: Posting files to Amazon MWS using LWP
in thread Posting files to Amazon MWS using LWP

I have seen that method, but it is not clear on how to add the additional MD5 header I need to add, as well as adding the contents of the file. Would you be able to expand a little on your example to show that?
  • Comment on Re^2: Posting files to Amazon MWS using LWP

Replies are listed 'Best First'.
Re^3: Posting files to Amazon MWS using LWP
by BrowserUk (Patriarch) on Nov 29, 2011 at 21:10 UTC

    Completely untested, but my interpretation of the docs suggests it should look something like this:

    use LWP::UserAgent; use HTTP::Request::Common; use Digest::MD5::File qw(file_md5_hex); use File::Slurp; #text file to upload my $text_file = 'file.txt'; #calulate Content-MD5 Header my $md5hash = file_md5_hex($text_file); #read file my $file_contents = read_file($text_file); #fields to post my %post_parameters = ( 'a' => 'red', 'b' => 'blue', 'c' => 'green' ); $ua = LWP::UserAgent->new(); $ua->agent('Blah/Perl'); $ua->post( 'http://amazonmws.blah', Content_Type =>'form-data', Content-MD5 => $md5hash, Content => [ file => [ $file_contents, $text_file ], %post_parameters ], ); print STDERR $rsp->status_line;

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Close, but no cigar :) HTTP::Request::Common has the detailed docs
      [ $local_file_to_open, $filename_to_send, Header => Value... ] [ undef, $filename_to_send, Header => Value,..., Content => $file_cont +ents ]
      If $filename_to_send eq "", none is sent, if $filename_to_send is undef, then basename of $local_file_to_open is sent