document.dqform.action="/directory-enquiries/dq_locationfinder.jsp"; #### #!/usr/bin/perl -w use strict; use warnings; use HTTP::Request::Common qw(GET POST); use LWP::UserAgent; my $url_home = "http://www.bt.co.uk/directory-enquiries/dq_home.jsp"; my $url_search = "http://www.bt.co.uk/directory-enquiries/dq_locationfinder.jsp"; my $ua = new LWP::UserAgent(); # Get a session ID first my $req = GET $url_home; my $res = $ua->request($req); die $res->as_string() . "\n" if $res->is_error(); die "Can't find a session ID!\n" unless ($res->as_string() =~ /BV_SessionID=([^&]+)\&/); my $sessID = $1; die "Can't find an engine ID!\n" unless ($res->as_string() =~ /BV_EngineID=([^&]+)\&/); my $engID = $1; print STDERR "Got session ID $sessID\n"; # too lazy for urlencode... $sessID =~ s/\@/%40/g; my $request = POST $url_search, [ QRY => 'res', BV_SessionID => $sessID, BV_EngineID => $engID, new_search => 'true', NAM => 'Roberts', GIV => '', LOC => 'london', STR => '', PCD => '', limit => '25', CallingPage => 'Homepage', ]; my $response = $ua->request($request); print $response->as_string();