MOON
Server: Apache
System: Linux vps.thepromohut.com 2.6.18-398.el5 #1 SMP Tue Sep 16 20:51:48 EDT 2014 i686
User: caretrak (507)
PHP: 5.2.10
Disabled: NONE
Upload Files
File: //scripts.20110601.041516.15411/HTTPreq.pm
#!/usr/bin/perl

use Socket;

sub httpreq {
	my($page);
	my($host,$url) = @_;

   eval {
      $SIG{'PIPE'} = $SIG{'ALRM'} = sub {
         print "Unable to retrieve file\n";
         die;
      };
      alarm(30);
      $proto = getprotobyname('tcp');
      socket(Socket_Handle, AF_INET, SOCK_STREAM, $proto);
      $iaddr = inet_aton("$host");
      $port = getservbyname('http', 'tcp');
      $sin = sockaddr_in($port, $iaddr);
      connect(Socket_Handle, $sin);
      send Socket_Handle, "GET $url HTTP/1.0\r\nHost: $host\r\n\r\n",0;
      $inheader = 1;
      while(<Socket_Handle>) {
	alarm(20);
        if (!$inheader) {
		$page .= $_;
         }
	 if ($inheader && (/^HTTP\/\d+\.\d+ (\d+)/)) { if ($1 eq "404" || $1 eq "500" || $1 eq "301") { print "Error $1 while fetching url http://$host/$url\n"; return(); } }
         if ($inheader && (/^\n$/ || /^\r\n$/ || /^$/)) { $inheader = 0; }
      }
      alarm(0);
   };
	return($page);
}

1;