|
使用LWP模块可以做一些简单的事情,比如模拟浏览器去访问、get、post等操作都可以
- #!/usr/bin/perl -w
- use LWP::UserAgent;
- use LWP;
- use strict;
- my $ua = LWP::UserAgent->new;
- $ua->timeout(1);
- #$ua->env_proxy;
- #$ua->agent("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");
- $ua->agent("Mozilla/5.0 www.meijugou.com");
- my $response = $ua->get('http://www.meijugou.com');
- if ($response->is_success) {
- #print $response->decoded_content; # or whatever
- printf("1\n");
- }
- else {
- #die $response->status_line;
- printf("0\n");
- }
LWP::Simple提供了is_success()和is_error()来判断返回是否成功。
使用is_success来判断是否成功,如果返回的头是200-299,那么is_success就返回真。如果400-499的话,那么is_error就返回真。
所以,在使用这个模块的时候,需要特别注意,因为如果你的网站做了301和302跳转的话,那么is_success返回的不是真,那么50x之类的错误,is_error也无法判断。
使用getstore()
函数的用法:
getstore($url,$file_path);
$url是你所需要访问的url,$file_path是输出的文件(如:/tmp/getstore.txt)
getstore将获取的内容放到文件($file_path)里去,而不是放在变量中,而返回的状态码是放在变量中的,如下代码
- my $status=getstore('www.baidu.com','/tmp/getstore.txt');
变量$status存储的是http的返回的状态码;而存放在文件里的内容,只能通过open()或者的方式查看。
|
|
|