Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Веб-программирование > Perl
Перезагрузить страницу Непойму
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
lollipop lollipop вне форума
Member
 
Сообщений: 19
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.10.2011
Smile Непойму - 23.12.2011, 10:18

Всем Привет! Шарящие в Perl помогите. Есть задание:

1. Разработать программу, которая обращается к HTTP-серверу и получает от него опции:
- самого сервера;
- указанного преподавателем информационного ресурса. (Файл options.pl)
2. Разработать программу, которая обращается к серверу методами GET,POST, HEAD получает заданный в запросе информационный ресурс (или его заголовок) и сохраняет в отдельных файлах в виде HTML-документов как сам ресурс, так и заголовки ответа. (файл resource.pl)
Установила Apache, ActivePerl. Кидаю лабы в С/users/userName, запускаю -
запускается с косяками. Сама в Perl не шарю, помогите исправить ошибку!

opttions.pl
Perl Код:
#!/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
Perl Код:
#!/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);
}
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Погите ребят!!!Непойму в чем ошибка!!! LESTOR Delphi 3 29.11.2011 22:45
непойму что??? неужели НЕ РАБОТАЕТ PHP? Jay_D PHP 3 18.07.2011 21:55



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов