加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl LWP的简单使用

发布时间:2020-12-15 21:05:30 所属栏目:大数据 来源:网络整理
导读:? 使用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

?

使用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("1n");?
  17. ?}?
  18. ?else?{?
  19. ?????#die?$response->status_line;?
  20. ?????printf("0n");?
  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>的方式查看。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读