Яндекс цитирования
 

CGI/PERL : практика программирования

 

[ В начало раздела ]

Автоматизация WEB: часть 1

Введение

Каждый из нас (я имею в виду постояльцев Сети и приходящих) привык к тому, что на любой из web-страниц можно увидеть различные счетчики TOP, динамически изменяемые ленты новостей ведущих новостных агентств, спортивные результаты от РосБизнесКонсалтинга, и много еще другого с аналогичным содержанием. Как это делается и что это вообще такое? Это, коллеги, называется автоматизацией. Вот как!

Ниже я расскажу как, используя возможности Perl, организовать эту диковинку.

Начнем мы, как и в любом деле, с простого. В первую очередь рассмотрим простейший пример использования пакета LWP (Library for WWW access in Perl) в качестве средства работы с WEB.

Обзор пакета LWP

Пакет LWP представляет собой коллекцию модулей на Perl, которые предоставляют простой программный интерфейс приложений (API) для доступа к WWW. Основная направленность пакета – предоставление классов и функций, позволяющих создавать WWW-клиенты. Большинство модулей пакета объектно ориентированы. Пользовательские агенты, посылка запросов и получение ответов от WWW-серверов представлены в виде объектов. Такой подход предоставляет возможность использовать простоту и мощность пакета. Среди функций пакета можно выделить такие как:

  • поддержка протоколов http, https, ftp, gopher, news, file, mailto
  • поддержка схем авторизации доступа
  • поддержка доступа через прокси-сервера
  • обработка файлов robot.txt и основа для создания роботов
  • поддержка HTTP-cookies

Самую последнюю информацию о пакете Вы сможете получить здесь: http://www.linpro.no/lwp/

Первый пример

Рассмотрим простой пример использования пакета LWP. Перед нами ставится задача: по зашитому в переменной URL-адресу предоставить пользователю содержимое. Для этого нам необходимо подключить у себя в программе модуль Simple из пакета LWP. У этого модуля есть функция get(URL), которая и возвращает содержимое по заданному URL. Вот полный пример.

#!/usr/bin/perl

##### Здесь мы указываем интересующий нас URL #####

$url = "http://localhost/temp.html";

##### Подключаю модуль, получаю содержимое #####

use LWP::Simple; $page = get "$url";

##### Вывожу содержимое пользователю #####

print $page;

Теперь, если Вы запустите эту программу, то в ответ Вы получите содержимое страницы temp.html на Вашем локальном WWW-сервере. Ну, как Вам мощь пакета? И это только начало.

Обзор классов пакета LWP

Ниже представлен краткий обзор классов, предоставляемых библиотекой.

  • LWP::MemberMixin -- Доступ к переменным классов Perl5
  • LWP::UserAgent -- Классы для пользовательских WWW-агентов
  • LWP::RobotUA -- Используется, когда разрабатываем приложения-роботы
  • LWP::Protocol -- Интерфейс к различным схемам протоколов
  • LWP::Protocol::http -- http:// доступ
  • LWP::Protocol::file -- file:// доступ
  • LWP::Protocol::ftp -- ftp:// доступ
  • ...

  • LWP::Authen::Basic – Обработка ответов 401 и 407
  • LWP::Authen::Digest

  • HTTP::Headers -- MIME/RFC822 заголовок (используется модулем HTTP::Message)
  • HTTP::Message -- HTTP сообщения
  • HTTP::Request -- HTTP запрос
  • HTTP::Response -- HTTP ответ
  • HTTP::Daemon -- Класс HTTP сервера

  • WWW::RobotRules -- Разбор файлов robots.txt
  • WWW::RobotRules::AnyDBM_File

Следующие модули предоставляют программистам различные функции для автоматизации процессов WEB.
  • LWP -- Собственно пакет.
  • LWP::MediaTypes -- Конфигурация MIME-типов (text/html и т.д.)
  • LWP::Debug -- Модуль журнала отладки
  • LWP::Simple -- Упрощенный процедурный интерфейс для общих функций
  • HTTP::Status -- Коды HTTP-статуса (200 OK и т.д.)
  • HTTP::Date -- Модуль разбора и обработки даты для форматов даты HTTP
  • HTTP::Negotiate -- Согласование HTTP контента
  • File::Listing -- Разбор списков каталогов

В дальнейших статьях я расскажу, что полезного можно сделать с помощью этого пакета для Вашего сайта и вообще. Замечу, что его мощь ограничена лишь жесткостью Вашего хостингера. :)))!

© Долгов Сергей, 04.06.2001

 

[ В начало раздела ]


 

 

Все для web-дизана!!! Бард-Путеводитель Много Всего CGI-Гид. Лучшие скрипты... WDH - WebDesignHelp - CGI, JAVA, APPLETS, TOP100! Раскрутка, увеличение посещаемости и индекса цитируемости в поисковых системах.

© 2000-2002 Долгов Сергей

dolgov_sergei@mail.ru

X