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

I'm working on a redirecting that should take the user to a page in a different server. It looks like this:
use LWP::UserAgent; use HTTP::Request::Common; $DEV_URL = 'http://server2.com/page.html'; my $ua = LWP::UserAgent->new; my $response = $ua->request(POST $DEV_URL, [ jsp => 'login', USER_ID => 'DEV', PASSWORD => 'SIM01', ]); print "RESPONSE: " . $response->as_string() . "\n";
This code runs in server1.com

The problem is that, instead of redirecting the browser to "server2.com", it is opening the page as if it was in "server1". If there is an image in the page, it will look for the image in "server1.com/images/image.jpg" instead of "server2.com/images/images.jpg"

Can anyone help me in this matter?

My goal is to redirect to the other server.

Thank you a lot.

Replies are listed 'Best First'.
Re: Question using HTTP::Request::Common
by rhesa (Vicar) on Mar 29, 2007 at 18:48 UTC
    use CGI; my $DEV_URL = 'http://server2.com/page.html'; my $q = CGI->new; print $q->redirect( $DEV_URL );
    See CGI, section GENERATING_A_REDIRECTION_HEADER.
      Not exactly

      I need to post the data included in the script.

        You should reconsider. Let the browser do that.

        Otherwise, if you insist on retrieving the server2 page yourself, then you will have to go all the way and be a proper proxy.