|
|
 |
Получение документа с удаленного вебсайта |
eBay-лучшая
партнёрская программа для вебмастера. Если посетитель с вашего сайта будет участвовать
в аукционе (а участие полностью бесплатно), вы получите 4$. Спешите, подобные
предложения действуют не долго. |
|
Автор: Борискина Людмила
Информация взята с сайта 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
|