http://qs321.pair.com?node_id=11112362


in reply to LWP::UserAgent post, file upload corruption.

Documentation for HTTP::Request::Common states:

If a $file is provided by no Content-Type header, then Content-Type and Content-Encoding will be filled in automatically with the values returned by LWP::MediaTypes::guess_media_type()

Maybe a module upgrade has changed the behaviour of LWP::MediaTypes::guess_media_type() to guess differently for .bin files. Try POSTing with the encoding set explicitly, like 'Content-Type'   => 'application/octet-stream'.

To investigate further, use LWP in debug mode as follows and observe the headers:

use LWP::UserAgent(); use LWP::ConsoleLogger::Easy qw( debug_ua ); use HTTP::CookieJar::LWP(); ## Create browser object. my $jar = HTTP::CookieJar::LWP->new; my $ua = LWP::UserAgent->new( keep_alive=>200, cookie_jar => $jar, protocols_allowed => ['http', 'https'], timeout => 60, ); debug_ua($ua); # etc.

bw, bliako

Replies are listed 'Best First'.
Re^2: LWP::UserAgent post, file upload corruption.
by FeistyLemur (Acolyte) on Feb 04, 2020 at 15:38 UTC

    I did try setting the content type to application/octet-stream manually, I also tried using HTTP::Request::Common, and the DYNAMIC_FILE_UPLOAD option as per another guide I found. Neither helped.

    I will try using the debug mode next and see what that yields.

    .