Hello,

I am accessing to a URL which has a sequence of JSPs.  Here is an
example(They are not real URL):

http://test.com/page1.jsp       (enter user/passwd in form)
http://test.com/page2.jsp       (enter city in form)
http://test.com/page3.jsp       (display info)

Using $ua->request does not work because the server will see each request is
from different clients.

How do I make all the GET and POST with the same session?  Here is my code:

#!/usr/bin/perl -w

use strict;
use HTML::TreeBuilder;
use URI::URL;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Request::Common;
use HTTP::Request::Form;

# Load WbssNSP page
my $ua = LWP::UserAgent->new;
my $url = url 'http://test.com/page1.jsp';
my $response = $ua->request(GET $url);

# Enter City
my $tb = HTML::TreeBuilder->new;
$tb->parse($response->content);
my @forms = @{$tb->extract_links(qw(FORM))};
my $f = HTTP::Request::Form->new($forms[0][1], $url);
$f->field("City", "Boston");
$response = $ua->request($f->press("Submit"));

# Load WbssISP page
$url = url 'http://test.com/page2.jsp';
$response = $ua->request(GET $url);

# Enter Zip code
$tb = HTML::TreeBuilder->new;
$tb->parse($response->content);
@forms = @{$tb->extract_links(qw(FORM))};
$f = HTTP::Request::Form->new($forms[0][1], $url);
$f->field("ZipCode", "12345");
$response = $ua->request($f->press("Submit"));

# Load WbssNewUser page
$url = url 'http://test.com/page3.jsp';
$response = $ua->request(GET $url);
print $response->content if ($response->is_success);

$tb = $tb->delete;


********************************
Alan Lee
* [EMAIL PROTECTED]
Spring Tide Networks
Three Clock Tower Place
Suite 200
Maynard, MA  01754
********************************

Reply via email to