CGI-BBS > CGI > Perl > Perlについて別サーバにあるHTMLファイルを取り込みたい。


カレッヂ
カレッヂ


質問者 しゅんじ  投稿日 11/26(火) 12:02:39
perlを初めて一ヶ月程度の初心者ですが、いつもここで勉強させてもらっています。
今回、別サーバのHTMLファイルのソースを読込もうと思い、単純に

if (!open(IN,"http://192.168.1.1/index.html")) {
	&html_error('File Not Open','ファイルを開くことができません。');
}
@BASE = <IN>;
close(IN);

としたのですが、エラーの表示が出て開けませんでした。
過去ログにもありましたが、http:// から開くことは出来ないのでしょうか?

また、ローカルでは処理が出来るので、一度HTMLファイルをローカルにダウンロードしてから、
処理を実施しようと思ったのですが、ファイルをダウンロードする方法が思いつきません。
どうか、良い方法がありましたら、よろしくお願いします。

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:PerlEditor
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:advanced

回答者 まさ  [削除]  投稿日 11/26(火) 18:29:20
残念ながらopen関数にURLを引数として渡してやることはできません。

同じようなことをするにはwgetを使うかLWPモジュールを使いましょう。
ちなみにLWPはPure Perlなので@INCのパスが通っているところにLWP.pm
を転送すればそれで使えます。

またLWPはlibwww-perlという配布パッケージに入っています。

LWPの詳しい使い方はサーチエンジンで調べてください。

回答者 やまだ  [削除]  投稿日 11/26(火) 23:31:36
socketを使いたくないとき、わたしは、HTTP::Liteを使います。CPANからどうぞ。
ソケットを知らなくても使えます。
質問者 しゅんじ  [削除]  投稿日 11/27(水) 10:26:28
早速試したところ、無事に読み取ることが出来ました。
本当にありがとうございます。

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

Web裏技