На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Внимательно изучите правила раздела перед созданием темы
0. ПРИЛАГАЙТЕ СВОИ СКРИПТЫ.
1. Прежде чем создать топик, используйте поиск. Возможно это уже обсуждалось.
2. В топике указывайте ОС, режим работы скрипта (CLI|CGI). Очень желателен вывод лог-файлов и того места, куда у вас назначен вывод данных (STDOUT|STDERR)
3. Помните: вы знаете что вы хотите, а форумчане - нет. Поэтому следуйте простому правилу: грамотный развернутый вопрос - грамотный развернутый ответ.
Модераторы: ANDLL
  
    > Не могу понять лабу , Обращение к серверу
      Всем Привет! Шарящие в Perl помогите. Есть задание:

      1. Разработать программу, которая обращается к HTTP-серверу и получает от него опции:
      - самого сервера;
      - указанного преподавателем информационного ресурса. (Файл options.pl)
      2. Разработать программу, которая обращается к серверу методами GET,POST, HEAD получает заданный в запросе информационный ресурс (или его заголовок) и сохраняет в отдельных файлах в виде HTML-документов как сам ресурс, так и заголовки ответа. (файл resource.pl)
      Установила Apache, ActivePerl. Кидаю лабы в С/users/userName, запускаю -
      запускается с косяками. Сама в Perl не шарю, помогите исправить ошибку!
      options.pl
      ExpandedWrap disabled
        #!/usr/bin/perl
         
        use IO::Socket;
         
        $server_port = 80;
        $host = 'localhost';
        while (1)
        {
                $client_socket = IO::Socket::INET->new("$host:$server_port") or die "can\'t create socket: $!";
                print "Connect to HTTP - server: OK\n\n";
                print "Enter:  1. ' * ' - to get server options\n";
                print " 2. resource adress - to get resource optins\n\n";
                print "URL: ";
                chomp($url = <STDIN>);
         
                $data = "OPTIONS  ".$url." HTTP/1.0\n\n" ;
                print $client_socket $data;
                
                while (<$client_socket>)
                {
                        print;
                }
                close($client_socket);
                <STDIN>;
        }


      resource.pl
      ExpandedWrap disabled
        #!/usr/bin/perl
         
        use IO::Socket;
         
        $server_port = 80;
        $host = 'localhost';
        while (1)
        {
                $client_socket = IO::Socket::INET->new("$host:$server_port") or die "Can\'t create socket: $!";
                print "enter url: ";
                chomp($input = "index.html");
                print "1 - GET\n";
                print "2 - POST\n";
                print "3 - HEAD\n";
                print "enter variant: ";
                chomp($menu = <STDIN>);
                if ($menu == 1)
                {
                        $met = "GET http://localhost/".$input." HTTP/1.0\n\n";
                }
                elsif($menu == 2)
                {
                        $met = "POST http://localhost/".$input." HTTP/1.0\n\n";
                }
                elsif($menu == 3)
                {
                        $met = "HEAD http://localhost/".$input." HTTP/1.0\n\n";
                }
                else
                {
                        next;
                }
                print $client_socket $met;
                        while ($message=<$client_socket>)
                {
                        $str.=$message;
                }
                $temp=$str;
                $temp=~/\A([\S\s]+)(?=\r\n\r\n)/mi;
                print $temp;
                open F,">header.html";
                print F $temp;
                close F;
            
        #       $temp=~s/\A([\S\s]+)(?=\r\n\r\n)//g;
                open F,">body.html";
                print F $temp;
                close F;
                close($client_socket);
        }
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0469 ]   [ 15 queries used ]   [ Generated: 26.04.24, 08:36 GMT ]