#!/usr/bin/perl -w # connection a un serveur HTTP sans utiliser IO::Socket require 5.002; use strict; use Socket; my $proto = getprotobyname('tcp'); my $port = getservbyname('http', 'tcp'); my ($host,$line,$hiine,$hoipaddr,$rtime,$pi,$p); $| = 1; # autoflush foreach $host (@ARGV) { socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die "socket: $!"; $hiine = gethostbyname($host)||die "not found $!"; $hoipaddr = sockaddr_in($port, $hiine) || die "add : $!"; connect(SOCKET, $hoipaddr) || die "bind: $!"; $rtime = ''; $p = select(SOCKET); $|=1; select($p); print SOCKET "GET / \n\n"; my $rin =''; my $win = ''; my $ein = ''; vec($rin,fileno(SOCKET),1) = 1; vec($win,fileno(SOCKET),1) = 1; $ein = $rin | $win; my $er=1; while (my $siz=select($rin, $win, $ein, 0.25) && ($er >0)) { $er=sysread(SOCKET, $rtime, $siz); print $rtime; } close(SOCKET); }