#!/usr/bin/perl
#request_demo.pl
use strict;
use CGI qw(-debug);
use CGI::Carp qw(fatalsToBrowser);
if ( $^O ne "MSWin32" ) {
use lib "libwww-perl-5.62/lib";
}
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Request::Common;
use HTTP::Status;
my $response_body;
my $cgi = new CGI;
my $URL = $cgi->param('URL');
print $cgi->header();
if ($URL) {
my $ua = new LWP::UserAgent;
$ua->agent('Mozilla/5.0');
$ua->timeout(180);
my $request = new HTTP::Request( 'GET', qq{$URL} );
my $response = $ua->request($request);
$response_body = $response->content();
if ( ( $response->code() != RC_OK ) ) {
my $coder = $response->code();
print "<pre>request as string: " . $request->as_string . "<br>\n";
print "header: ". $response->header . "<br>\n";
print "message: ". $response->message . "<br>\n";
print "content: " . $response->content . "<br>\n";
print "as string: " . $response->as_string . "<br>\n";
print "Body:", $response_body, "<br>\n</pre>";
die "Request failed with code $coder";
}
#Tables only
#$response_body =~ s/(<\s*?table.*?border="?)0/${1}1/gs;
#All borders
$response_body =~ s/(border="?)0/${1}1/igs;
}
open HTML, "course/cgi_use/request_form.html"
or die "Can't open request_form.html: $!\n";
while (<HTML>) {
#Put the requested URL back into the input field
s/name="URL" value=".*?"/name="URL" value="$URL"/;
#Put the html from the response
#into the body of the returned form
s/<!-- response_body -->/$response_body/;
print;
}
close HTML;