Данный документ является частичным переводом http://search.cpan.org/~gaas/libwww-perl-5.826/lib/LWP/Simple.pm.
LWP::Simple
LWP::Simple - это упрощенный интерфейс к LWP.
LWP::Simple удобно использовать для вызова в командной строке и написании простых программ.
Если возможностей, которые предоставляет LWP::Simple, недостаточно, рекомендуется использовать LWP::UserAgent.
Синтаксис
|
1 |
perl -MLWP::Simple -e 'getprint "http://aninatalie.ru/"' |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
use LWP::Simple; $content = get("http://aninatalie.ru/"); die "Couldn't get it!" unless defined $content; if (mirror("http://aninatalie.ru/", "foo") == RC_NOT_MODIFIED) { ... } if (is_success(getprint("http://aninatalie.ru/"))) { ... } |
Описание
get($url)
Функция get() обращается к указанному адресу, получает данные и возвращает их пользователю.
Функция вернет undef, если обращение прошло неуспешно. Аргумент $url может быть указан как простая строка или как ссылка на URI-объект.
|
1 2 3 4 5 6 7 |
#!/usr/local/bin/perl use LWP::Simple; my $content = get("http://aninatalie.ru/") || die "Couldn't get it!"; print $content."\n"; |
Вывод:
|
1 2 3 4 5 6 7 |
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> ... |
или
|
1 2 3 4 |
%perl lwp.pl Couldn't get it! at lwp.pl line 4. |
head($url)
Функция получает заголовки документа и возвращает 5 значений: $content_type, $document_length, $modified_time, $expires, $server, или TRUE, если требуется получить только одно значение.
Если запрос выполнить не удалось, возвращает пустой список.
Пример:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/usr/local/bin/perl use LWP::Simple; my ($content_type, $document_length, $modified_time, $expires, $server) = head("http://aninatalie.ru/?p=3"); print "Content type: ".$content_type."\n"; print "Document length: ".$document_length."\n"; print "Modified time: ".$modified_time."\n"; print "Expires: ".$expires."\n"; print "Server: ".$server."\n"; |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
%perl lwp.pl Content type: text/html; charset=UTF-8 Document length: Modified time: Expires: Server: Apache/1.3.37 (Unix) PHP/4.4.9 |
getprint($url)
Функция запрашивает документ по указанному адресу и выводит его на печать. По-умолчанию вывод
осуществляется в STDOUT. Если запрос выполнить не удается, функция выводит ошибку в STDERR.
Пример:
|
1 2 3 4 5 |
#!/usr/local/bin/perl use LWP::Simple; getprint("http://aninatalie.ru/"); |
Вывод:
|
1 2 3 4 5 6 7 8 |
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> ... |
getstore($url, $file)
Функция обращается по указанному адресу, получает документ и сохраняет его в заданном файле. Возвращает код ответа HTTP.
|
1 2 3 4 5 6 7 |
#!/usr/local/bin/perl use LWP::Simple; my $code = getstore("http://aninatalie.ru/", "store.txt"); print $code; |
Вывод:
|
1 2 3 4 |
%perl lwp.pl 200 |
Содержание store.txt после выполнения скрипта:
|
1 2 3 4 5 6 7 8 |
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> ... |
Полезные ссылки
EN
http://search.cpan.org/~gaas/libwww-perl-5.826/lib/LWP.pm
http://search.cpan.org/~gaas/URI-1.37/URI.pm