如何判断网页是否存在



为了好玩,我正在编写一个Perl程序来检查给定网站是否存在。就我而言,如果我能进入浏览器,输入url并获得一个有意义的网页(意味着不是错误或"打开页面失败"消息),那么网站就存在了。做这件事最好的方法是什么?最终,我希望能够给我的程序一个数百个url的列表。

我正在考虑ping列表中的每个url,看看它们是否存在;然而,我真的不太了解网络,所以这是最好的方法吗?

在Perl中使用WWW库(LWP):

#!/usr/bin/perl
use LWP::Simple;
my $url = 'http://www.mytestsite.com/';
if (head($url)) {
  print "Page existsn";
} else {
  print "Page does not existn";;
}

不存在"ping网页"这样的协议。实际上,你必须请求资源,如果资源已经提供,它就存在了。有几种方法可以做到这一点,这里有几个:

  1. 使用LWP检索网页
  2. 检查现有网页可以很简单:

    #!/usr/bin/env perl
    use strict;
    use warnings;
    use LWP::Simple qw(head);
    head('http://www.perlmeme.org') or die 'Unable to get page';
    

与命令行工具相同的解决方案是lwp-request/HEADHEAD返回资源标题,例如内容大小,并且将比获取所有页面内容更快。

最新更新