如何判断网页是否存在?

时间:2012-07-21 18:43:33

标签: perl networking ping

为了好玩,我正在编写一个Perl程序来检查某个网站是否存在。出于我的目的,如果我可以进入我的浏览器,打入网址并获得有意义的网页(意思不是错误或“打开页面失败”消息),则存在一个网站。这样做最好的方法是什么?最后,我希望能够为我的程序提供数百个网址列表。

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

2 个答案:

答案 0 :(得分:6)

在Perl(LWP)中使用WWW中的WWW库:

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

答案 1 :(得分:1)

没有“ping网页”这样的协议存在。您实际上必须请求资源,如果它被提供,它就存在。有几种方法可以解决,这里有几个:

  1. Retrieving web pages with 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';
    
  3. 与命令行工具相同的解决方案是lwp-request/HEADHEAD返回资源标头,例如内容大小,并且比获取所有网页内容更快。