CGI-BBS > CGI > Perl > Perlについてhttpで始まるURLを開いて内容を解析したい。


(株)友林堂
(株)友林堂


[PR] データ復旧, 即日 テラステーション復旧(修理)

質問者 keisuke  投稿日 2006/1/30(月) 18:42:49
他HPを巡回して中身を解析するツールを作りたいと考えています。

過去ログにあったのですが、色々トライしても思うように出来
ないので再度質問させてください。


似たような過去ログ
http://www.rescue.ne.jp/CGI-BBS/cgi/perl/20021126120239.shtml
http://www.rescue.ne.jp/CGI-BBS/cgi/perl/20010308091829.shtml


OSはWindowsXP、Active Perl5.8をcygwinで使用しています。


=====================================
HTTP::Liteを使用して
    use HTTP::Lite;
    $http = new HTTP::Lite;
    $req = $http->request("http://www.google.co.jp/") 
        or die "Unable to get document: $!";
    print $http->body();
と、したところ
Unable to get documtn: Bad file descriptor at sample.pl
line 3.
と出力される。
HTTP::Liteはモジュールとして正常に使用できているようです
が
リクエストの部分でエラーが出てしまいます。
=====================================
LWP::Simpleを使用して
    use LWP::Simple;
    $url="http://www.google.co.jp/";
    $data=get($url);
    print STDERR $data;
と、したところなにも出力されない。
=====================================
LWP::UserAgentを使用して
    use LWP::UserAgent;
    $ua = LWP::UserAgent->new;
    $ua->agent("$0/0.1 " . $ua->agent);

    $req = HTTP::Request->new(GET =>
'http://www.google.co.jp/');

    # リクエストの送信
    $res = $ua->request($req);

    # 出力のチェック
    if ($res->is_success) {
       print $res->content;
    } else {
       print "Error: " . $res->status_line . "\n";
    }
と、したところ
Error:500 Cant't connect to www.google.co.jp:80 (connect:
Unknown error)
と出力されてしまいます。
ググって「環境変数 http_proxyを設定すれば良い」という内
容の記述を
見つけましたが、どのような内容に指定すれば良いのかイマイ
チ分かりませんでした。
=====================================
方法にこだわりは特にないので、なんらかの解決方法をご存知
の方が
いらっしゃいましたらご教授お願いします。

【習熟度】(未選択)

回答者 edams  [削除]  投稿日 2006/2/13(月) 07:26:23
以前に作ったのですが、参考になるかな
http://sieg.xeong.com/archives/2005/07/post_2.html
質問者 keisuke  [削除]  投稿日 2006/2/13(月) 18:31:10
実は「これを気にPHPを勉強しようか」と思い
そちらの方で実現してしまったのですが、
Perl版も気になっていたので試してみます。

ありがとうございます。

このページは終了したので返信(回答)は書きこめません
 


[PR] データ復旧, 即日 テラステーション復旧(修理) Web裏技