2

楽しみのために、特定のWebサイトが存在するかどうかを確認するPerlプログラムを作成しています。私の目的では、ブラウザにアクセスしてURLを入力し、意味のあるWebページを取得できる場合(エラーや「ページを開けませんでした」というメッセージではないことを意味します)、Webサイトが存在します。これを行うための最良の方法は何でしょうか?最終的には、プログラムに数百のURLのリストを提供できるようにしたいと思います。

リストにある各URLにpingを実行して、それらが存在するかどうかを確認することを考えています。しかし、私はネットワーキングについてあまりよく知らないので、これがそれを行うための最良の方法ですか?

4

2 に答える 2

7

PerlでのWWW用ライブラリの使用(LWP):

#!/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";;
}
于 2012-07-21T18:48:16.757 に答える
1

存在するための「Webページへのping」などのプロトコルはありません。実際にリソースを要求する必要があり、それが提供されている場合は存在します。それについて行くにはいくつかの方法があります、ここにいくつかあります:

  1. LWPを使用したWebページの取得
  2. 既存のWebページの確認は、次のように簡単に行うことができます。

    #!/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/HEADです。HEADコンテンツサイズなどのリソースヘッダーを返し、すべてのページコンテンツを取得するよりも高速になります。

于 2012-07-21T18:47:20.360 に答える