Лабораторная работа №8


"Настройка Web сервера и разработка динамических Web - страниц на основе тенологии CGI"



Задание
Написать программу, которая получает как входные параметры адреса хостов. Далее выполняет команду Ping для указаных машин и выводить форматированный результат тестирования.

download готового скрипта


Введите IP


Текст скрипта 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";





Rambler's Top100