perl的LWP模块简单介绍

perl的LWP模块简单介绍,第1张

概述一 LWP::Simple 功能 1. 如何在Perl中使用该模块? use LWP::Simple; 2. 如何获取一个页面内容? my $content = get(’http://www.yahoo.com.cn’); get函数把从www.yahoo.com.cn上获取得页面内容全部赋给$content这个变量,如果获取失败将返回一个undef的值。 3. 如何获取头(Header)? m

一 LWP::Simple 功能

1. 如何在Perl中使用该模块?

use LWP::Simple;

2. 如何获取一个页面内容?

my $content = get(’http://www.yahoo.com.cn’);

get函数把从www.yahoo.com.cn上获取得页面内容全部赋给$content这个变量,如果获取失败将返回一个undef的值。

3. 如何获取头(header)?

my (b,d,$e) = header(’http://www.yahoo.com.cn’);

如果获取成功header函数将返回五个变量,$a-e分别代表内容类型,文档长度,最后更新的时间,过期和服务器名称。

4. 如何输出指定页面内容?

my $code = getprint(’http://www.yahoo.com.cn’);

getprint将试图打印www.yahoo.com.cn的内容,然后返回一个状态号,比如成功将返回200,文件没有找到将返回404。

5. 如何把获取的内容保存到一个文件中?

my $code = getstore(’http://www.yahoo.com.cn’,‘/path/file.HTML’);

getstore将试图把获取的内容保存到第二个参数指定的文件中,返回一个状态号,状态号的形式如上。

6. 如何同步远程和本地文件?

my $code = mirror(’http://www.yahoo.com.cn’,'/path/file.HTML’);

mirror函数将比较远程和本地文件的一致性,然后返回一个状态号,比如文件相同将返回304,如果本地文件同步成功将返回200。

7. 如何测试返回状态的正确性?

is_success($code)
is_error($code)

is_success和is_error这两个函数可以传递一个状态号为参数,程序会判断返回的是否为成功状态。比如is_success(403)将返回假。

二 LWP::UserAgent 功能
1、取得页面头信息

#!/usr/bin/perluse strict;
use warnings;
use LWP::UserAgent;my $ua = LWP::UserAgent->new;
$ua->agent(’spIDer name’);
my $res = $ua->head(’http://www.yahoo.com.cn’);
foreach ($res->header_fIEld_names) { print “$_: “,$res->header($_),“\n”;}

2、获取指定页面

my $ua = LWP::UserAgent->new;
$ua->agent(’spIDer name’);
my $response = $ua->get(’http://www.yahoo.com.cn’);

3、POST方式提交数据

use strict;
use warnings;
use LWP 5.64;
my $browser = LWP::UserAgent->new; my $word = ‘tarragon’; my $url = ‘http://www.altavista.com/sites/search/web’;
my $response = $browser->post( $url,
[ ‘q’ => $word,# the Altavista query string
‘pg’ => ‘q’,‘avkw’ => ‘tgz’,‘kl’ => ‘XX’,
]
);
dIE “$url error: “,$response->status_line
unless $response->is_success;
dIE “Weird content type at $url — “,$response->content_type
unless $response->content_type eq ‘text/HTML’;

4、通过get方式提交数据

use URI;
my $url = URI->new( ‘http://us.imdb.com/Tsearch’ );
# makes an object representing the URL $url->query_form( # And here the form data pairs:
‘Title’ => ‘Blade Runner’,
‘restrict’ => ‘MovIEs and TV’,
); my $response = $browser->get($url);

三、httpS的支持
需要安装Crypt::SSLeay协议,以便支持加密传输。
命令行PPM下的安装:
ppm> install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
图形化下面的安装:
点击Edit->Preferences,Add Repository,添加http://theoryx5.uwinnipeg.ca/ppms/作为安装源。再选择Crypt-SSLeay即可。 测试代码:

use strict; use warnings; use LWP::UserAgent;my $url = ‘https://www.helsinki.fi/’;my $ua = LWP::UserAgent->new; my $response = $ua->get( $url );$response->is_success or dIE “Failed to GET ‘$url’: “,$response->status_line; print $response->as_string;  总结

以上是内存溢出为你收集整理的perl的LWP模块简单介绍全部内容,希望文章能够帮你解决perl的LWP模块简单介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1276218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存