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



              

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


[ module => "DB_File",   readme => 1  ]; Scontent = $ua->request($req)->as_string;

Комментарий

Для простых операций хватает процедурного интерфейса модуля LWP::Simple. Для менее тривиальных ситуаций модуль LWP::UserAgent предоставляет объект виртуального броузера, работа с которым осуществляется посредством вызова методов.

Строка запроса имеет следующий формат:

П0ЛЕ1=ЗНАЧЕНИЕ1ШЛЕ2=ЗНАЧЕНИЕ2&П0ЛЕЗ=ЗНАЧЕНИЕЗ

В запросах GET информация кодируется в запрашиваемом URL:

http://www.site.com/path/to/

script.Cgi?field1=value1&field2=value2&field3=value3

Служебные символы в полях должны быть соответствующим образом преоб­разованы, поэтому присваивание параметру arg строки "this isn't <EASY> and <FUN>" выглядит так:

http://www. site.com/path/to/

script.cgi?arg=%22this+isn%27t+%3CEASY%3E+%26+%3CFUN%3E%22

Метод query_form, вызываемый для объекта URL, оформляет служебные сим­волы формы за вас. Кроме того, можно вызвать URI: : Escape: :uri_escape или CGI:escape_html по собственной инициативе. В запросах POST строка парамет­ров входит в тело HTML-документа, передаваемого сценарию CGI.

Для передачи данных в запросе GET можно использовать модуль LWP::Simle, однако для запросов POST не существует аналогичного интерфейса LWP::Simple. Вместо этого функция POST модуля HTTP::Request::Common создает правильно отформатированный запрос с оформлением всех служебных символов.

Если запрос должен проходить через прокси-сервер, сконструируйте своего пользовательского агента и прикажите ему использовать прокси:

$ua->proxy(['http', 'ftp'] => 'http://proxy.myorg.com:8081');


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

Это означает, что запросы HTTP и FTP для данного пользовательского аген­та должны маршрутизироваться через прокси на порте 8081 по адресу proxy. myorg.com.

t> Смотри также--------------------------------------------------------------------------------------------

Документация по модулям LWP::Simple, LWP::UserAgent, HTTP::Request::Com-mon, URI::Escape и URI::URL с CPAN; рецепт 20.1.




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