GaijinPunch has asked for the wisdom of the Perl Monks concerning the following question:

Quick question (I think).

I'm POSTing data via LWP. As far as I can tell, I'm sending all the data in a very kosher manner. However, I'm getting nothing back (literally nothing... not even empty HTML tags). If I don't send any post data, I at least get an error page. At any rate, I'm sending this stuff to a server that's not mine, so I made a little test PHP page to see if I'm sending the right stuff. There are a few variables with a "." in their name (eg; ".challenge", ".md", etc.). When I dump the $POST array in my PHP script, they show up as "_challenge", "_md". Am I to assume that I'm sending the variables correctly and PHP mangles the _ & ., or can I assume that LWP is doing that before it sends them?

For giggles, here's the code.
my $ua = new LWP::UserAgent; my $req = new HTTP::Request POST => $url; $req->content_type('application/x-www-form-urlencoded'); $req->content($post); my $res = $ua->request($req); print $res->content;
I've made sure that $url and $post have the correct strings in them.

Thanks.

Replies are listed 'Best First'.
Re: POST question ( . vs _)
by perrin (Chancellor) on Mar 28, 2006 at 03:57 UTC
    You might be getting a response that LWP considers illegal, like a redirect from a POST request. Why don't you dump the full contents of the response object and see what you got?
      Okay, I print out status_line and I get "302 Found". I guess I don't get he redirection page. I'm going to go out on a limb and say that the problem is that I'm running this script w/o a referring page. Nothing to prove that other than a hunch. Don't suppose there's a way around that one, is there?
      Dang... even if I pass it a valid username and password w/ in POST, it knows I'm not logged in. Gonna have to study up a bit.
        If you are able to use it from a browser, just look at the headers using a logging proxy or the Firefox LiveHTTPHeaders extension. It's probably looking for a cookie or a referer header.