Web Creation - еженедельный сетевой журнал для вебмастеров

   
 Получение документа с удаленного вебсайта

Автор: Борискина Людмила
Информация взята с сайта www.webclass.ru

Рассмотрим ситуацию, когда Вам надо взять какие-то данные с другого сайта и поместить на своей странице. Возьмем к примеру курс доллара, или самую свежую новость на каком-нибудь сайте. Для этого можно написать CGI скрипт, который будет обращаться к веб-серверу удаленного сайта, запрашивать нужный документ по протоколу HTTP, затем из полученных данных выбирать нужную информацию.

Наиболее простой способ можно реализовать с помощью модуля IO::Socket:

Дирректива использования модуля
use IO::Socket;

Адрес сервера, к которому будем подсоединятся
my $host="webclass.ru";

Строка простейшего HTTP запроса к веб-серверу на удаленной машине.
Здесь пишем адрес документа на удаленном вебсайте
my $getstring="GET http://webclass.ru/index.php3 HTTP/1.0\n\n";

Создаем соединение с удаленной машиной.
Указываем стандартный порт веб-сервера = 80.
протокол: tcp.
Eсли соединение не удается создать, исполнение прерывается.
my $sock = new IO::Socket::INET(PeerAddr => $host, PeerPort => 80, Proto => 'tcp') or die "Ошибка соединения";

Посылаем строку HTTP запроса на удаленный веб-сервер.
print $sock "$getstring";

Считываем полученные данные.
my $buf="";
while($line = <$sock>) {
    $buf.=$line;
}

Закрываем соединение.
close($sock);

Теперь в переменной $buf содержится запрашиваемый документ.
Если вывести этот документ:
print $buf;
то пользователь в окне броузера, запустив ваш скрипт,
увидит документ с другого сайта. В зависимости от информации, которую необходимо получить, Вы можете написать регулярное выражение или применить поиск по строке чтобы вывести именно то, что нужно.

Автор: Борискина Людмила
Информация взята с сайта www.webclass.ru

 

© журнал принадлежит Web Creation
по всем вопросам обращаться А. Кузьмин