Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: LWP not POSTING (400 Bad Request)

by haukex (Archbishop)
on Apr 03, 2016 at 11:01 UTC ( [id://1159419] : note . print w/replies, xml ) Need Help??

in reply to LWP not POSTING (400 Bad Request)

Hi HollyWould,

From your example log message, it looks to me like the parameters key, source and format are supposed to be encoded into the URI - whether or not they're also part of the POST body I can't tell, you'd have to take a look at the traffic (e.g. Wireshark) and tell us more about that.

It's been a while since I used raw LWP, so I might be forgetting an easier way, but one way to get those parameters onto the URI is with URI:

# ... use URI; my $uri = URI->new($server_endpoint); $uri->query_form( key => $server_api_key, source => $encoded, format => "json", ); my $req = HTTP::Request->new(POST => $uri); # ...

This gets me the URL query string ...?key=xxxx& which looks like what you want.

Hope this helps,
-- Hauke D

Replies are listed 'Best First'.
Re^2: LWP not POSTING (400 Bad Request)
by HollyWould (Initiate) on Apr 03, 2016 at 11:31 UTC
    Hauke - Bingo! Yes, the web application is expecting the attributes in the URI, not in the POST body. Thanks for your assistance with this, much appreciated. Cheers,HW