Лабораторная работа №8
"Настройка Web сервера и разработка динамических Web - страниц на основе тенологии CGI"
Задание
Написать программу, которая получает как входные параметры адреса хостов. Далее выполняет команду
Ping для указаных машин и выводить форматированный результат тестирования.
download готового скрипта
Текст скрипта pinger.cgi
#!c:/usr/bin/perl
(*fval) = @_ if @_ ;
local ($buf);
if ($ENV{'REQUEST_METHOD'} eq 'POST')
{
read(STDIN,$buf,$ENV{'CONTENT_LENGTH'});
}
if ($buf eq "")
{
return 0;
}
else {
@fval=split(/&/,$buf);
foreach $i (0 .. $#fval)
{
($name,$val)=split (/=/,$fval[$i],2);
$val=~tr/+/ /;
$val=~ s/%(..)/pack("c",hex($1))/ge;
$name=~tr/+/ /;
$name=~ s/%(..)/pack("c",hex($1))/ge;
if (!defined($field{$name}))
{
$field{$name}=$val;
}
else {
$field{$name} .= ",$val";
}
}
}
$ipadress=$field{'ipadress'};
system ("ping $ipadress >temp.tmp");
open (FILE,'temp.tmp');
@strings=<FILE>;
close (FILE);
print "Content-type: text/html\n\n";
print "<html>\n <head>\n<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=cp866\"> <title>PING</title>\n </head>\n";
print "<body>\n <center>\n <h4>PING</h4>\n </center><br><hr><pre>\n";
print @strings;
print "</pre><hr></body>\n</html>\n";