#!/usr/bin/perl # By Brian D. Davison # Last modified 5 July 2001 use LWP::UserAgent; sub get10 { local($ua) = new LWP::UserAgent; local($i,$req,$res); $ua->agent("SimpleRetriever/0.1 (Questions to davison\@cs.rutgers.edu) " . $ua->agent); $ua->proxy("http", "http://hit.rutgers.edu:8080/"); # $ua->proxy("http", "http://hit.rutgers.edu:80/"); $req = new HTTP::Request 'GET' => $url; $req->header('Accept' => 'text/html'); for $i (1..20) { # send request $res = $ua->simple_request($req); # check the outcome if ($res->is_success) { print $$, " ", $res->content; } else { print "Error: " . $res->code . " " . $res->message . "\n"; } } } $numprocs = 2; $url = $ARGV[0]; FORK: { if ($pid = fork) { # print "parent process\n"; $numprocs--; if ($numprocs) { redo FORK; } else { while (wait > -1) { ; } } } elsif (defined $pid) { print "child process ", $$, "\n"; get10(); exit; } elsif ($! =~ /No more process/) { sleep 5; redo FORK; } else { die "Can't fork: $!\n"; } }