Ok, lets troubleshoot this: Try it without the URI module and see what
happens then. This 

trim it down to:
--
use IO::Socket;
my $host = 'localhost';

my $socket   = new IO::Socket::INET (PeerAddr => $host,
                                     PeerPort => 80,
                                     Proto    => 'tcp')
     or die "Cannot connect to the server.\n";

$socket->autoflush(1)
print $socket "GET /index.htm HTTP/1.0\n\n";
while(<$socket>){
   print
}
close $socket;

> -----Original Message-----
> From: Kipp, James 
> Sent: Monday, September 30, 2002 10:27 AM
> To: 'Octavian Rasnita'; [EMAIL PROTECTED]
> Subject: RE: What am I missing or doing wrong?
> 
> 
> seems to work fine for me, but i tested it on a simple web 
> page. Try removing the line
> $socket->autoflush(1);
> 
> 
> > -----Original Message-----
> > From: Octavian Rasnita [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, September 30, 2002 11:08 AM
> > To: [EMAIL PROTECTED]
> > Subject: What am I missing or doing wrong?
> > 
> > 
> > Hi all,
> > 
> > I've taken the following example from a Perl book but it 
> > doesn't work well.
> > It should print the content of a web page, but it prints only 
> > the first 4
> > kb, then the page continues opening... and even if I press 
> > the stop button
> > after more time, it doesn't print more than 4 kb.
> > 
> > After waiting for more time for the page to finish loading, I 
> > can see the
> > following error in the log file, even though the page 
> > continues loading...
> > [Mon Sep 30 17:03:56 2002] [error] [client 127.0.0.1] 
> Premature end of
> > script headers: test.pl
> > [Mon Sep 30 17:04:13 2002] [error] [client 127.0.0.1] 
> > (20507)The timeout
> > specified has expired: ap_content_length_filter: 
> > apr_bucket_read() failed
> > 
> > Here is the script file I tried:
> > 
> > #!/perl/bin/perl -w
> > 
> > print "Content-type: text/html\n\n";
> > 
> > use strict;
> > use IO::Socket;
> > use URI;
> > 
> > my $location = 'http://localhost';
> > 
> > my $url = new URI($location);
> > 
> > my $host = $url->host;
> > my $port     = $url->port || 80;
> > my $path     = $url->path || "/";
> > 
> > my $socket   = new IO::Socket::INET (PeerAddr => $host,
> >                                      PeerPort => $port,
> >                                      Proto    => 'tcp')
> >                or die "Cannot connect to the server.\n";
> > 
> > $socket->autoflush(1);
> > 
> > print $socket "GET $path HTTP/1.1\n",
> >               "Host: $host\n\n";
> > 
> > print while (<$socket>);
> > 
> > $socket->close;


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to