使用LWP模块可以做一些简单的事情,比如模拟浏览器去访问、get、post等操作都可以

 
  
  1. #!/usr/bin/perl -w 
  2. use LWP::UserAgent; 
  3. use LWP; 
  4. use strict; 
  5.  
  6. my $ua = LWP::UserAgent->new; 
  7.  $ua->timeout(1); 
  8.  #$ua->env_proxy; 
  9.  #$ua->agent("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11"); 
  10.  $ua->agent("Mozilla/5.0 www.meijugou.com"); 
  11.  
  12.  my $response = $ua->get('http://www.meijugou.com'); 
  13.  
  14.  if ($response->is_success) { 
  15.      #print $response->decoded_content;  # or whatever 
  16.      printf("1\n"); 
  17.  } 
  18.  else { 
  19.      #die $response->status_line; 
  20.      printf("0\n"); 
  21.  } 

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)里去,而不是放在变量中,而返回的状态码是放在变量中的,如下代码

 
  
  1. my $status=getstore('www.baidu.com','/tmp/getstore.txt'); 

变量$status存储的是http的返回的状态码;而存放在文件里的内容,只能通过open()或者<FH>的方式查看。