最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

perl的LWP模块简单介绍

来源:动视网 责编:小OO 时间:2025-09-29 23:21:41
文档

perl的LWP模块简单介绍

perl的LWP模块简单介绍一LWP::Simple功能1.如何在Perl中使用该模块?useLWP::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’);如果获取成功h
推荐度:
导读perl的LWP模块简单介绍一LWP::Simple功能1.如何在Perl中使用该模块?useLWP::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’);如果获取成功h
perl的LWP模块简单介绍

一 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.;

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> installhttp://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 “Failedto GET ‘$url’: “, $response->status_line;

print $response->as_string;

查看文档来源:http://blog.sina.com.cn/s/blog_4af3f0d20100fwi0.html

文档

perl的LWP模块简单介绍

perl的LWP模块简单介绍一LWP::Simple功能1.如何在Perl中使用该模块?useLWP::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’);如果获取成功h
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top