PERL: БИБЛИОТЕКА ПРОГРАММИСТА



              

PERL: БИБЛИОТЕКА ПРОГРАММИСТА - стр. 670



704   Глава 20 • Автоматизация в Web


Имя модуля


Назначение



LWP::UserAgent

LWP::RobotUA

LWP::Protocol

LWP::Authen::Basic

LWP::MediaTypes

LWP::Debug

LWP::Simple

LWP::UserAgent

HTTP::Headers

HTTP::Message

HTTP::Request

HTTP::Response

HTTP::Daemon

HTTP::Status

HTTP::Date

HTTP-Negotiate

URI::URL

WWW::RobotRules

File:: Listing________


Класс пользовательских агентов WWW

Разработка приложений-роботов

Интерфейс для различных схем протоколов

Обработка ответов 401 и 407

Конфигурация типов MIME (text/html и т. д.)

Отладочный модуль

Простой процедурный интерфейс для часто используемых

функций

Отправка HTTP::Request и возвращение HTTP::Response

Заголовки стилей MIME/RFC822

Сообщение в стиле HTTP

Запрос HTTP

Ответ HTTP

Класс сервера HTTP

Коды статуса HTTP (200 OK и т. д.)

Модуль обработки даты для форматов дат HTTP

Обсуждение содержимого HTTP

URL

Анализ файлов robots.txt

Анализ списков содержимого каталогов


Модули HTML:: находятся в близкой связи с LWP, но не распространяются в составе этого пакета. Они предназначены для анализа HTML-кода. На них осно­ваны рецепты 20.3—20.7, программы htmlsub и hrefsub.

В рецепте 20.12 приведено регулярное выражение для декодирования полей в файлах журналов Web-сервера, а также показано, как интерпретировать эти поля. Мы используем это регулярное выражение с модулем Logfile::Apache в рецепте 20.13, чтобы продемонстрировать два подхода к обобщению данных в журналах Web-серверов.

20.1. Выборка URL из сценария Perl

Проблема

Требуется обратиться из сценария по некоторому URL.

Решение

Воспользуйтесь функцией get модуля LWP::Simple от CPAN, входящего в LWP.

use LWP:  Simple, $content = get($URL);


20.1. Выборка URL из сценария Perl   705

Комментарий

Правильный выбор библиотек заметно упрощает работу. Модули LWP идеально подходят для поставленной задачи.

Функция get модуля LWP::Simple в случае ошибки возвращает undef, поэтому ошибки следует проверять так:

use LWP Simple,

unless (defined ($content = get $URL)) {




Содержание  Назад  Вперед