WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Perlで任意のURLのHTMLを読むには?

わごな[MAIL][URL][WriteDate : Fri Jul 28 01:03:41 2000]

はじめまして、どなたかご存知でしたら教えて下さい

任意のURLのHTMLファイルをPerlで読むにはどのようなソースを書けばよいのでしょうか?

素材屋のWEBページを運営しているんですが
壁紙の適用例を見せるのに、指定されたURLのHTMLファイルを読みこんでBODYタグを書換えて表示するようなCGIを作ろうと考えています
「とほほのWWW入門」でそれらしき記述を見つけて試してみたのですが
使用している関数の使用その他がわからずまともに動きませんでした


## $s_url に読みたいURL(www.〜.html)が代入済みとします
$addr = (gethostbyname($s_url))[4];
$name = pack("S n a4 x8", 2, 80, $addr);
socket(S, 2, 1, 0);
connect(S, $name);
binmode(S);
select(S);
$| = 1;
select(stdout);
@HTML = <S>; ## 配列 @HTMLに読みこもうとしています
close(S);


ちゃいぱ[MAIL][URL][WriteDate :Fri Jul 28 09:46:06 2000]

私の環境では以下で出来ました。

#!/usr/local/bin/perl
      $s_url= "www.xxx.co.jp";
      $addr = (gethostbyname($s_url))[4]; 
      $name = pack("S n a4 x8", 2, 80, $addr); 
      socket(S, 2, 2, 0); 
      connect(S, $name); 
      print $name;
      binmode(S); 
      select(S); 
      $| = 1; 
      select(stdout); 
      print S "GET /~chaichan/index.html HTTP/1.0\n\n";
#     while(<S>) { print;}
      @HTML = <S>; ## 配列 @HTMLに読みこもうとしています 
      print @HTML;
      close(S); 


ポイントは2つ。

>socket(S, 2, 1, 0);
は環境によって 
socket(S, 2, 2, 0);
の時もあるみたいです。

かんじんの読みたいHTMLファイルを指定しないと...。
>print S "GET /~chaichan/index.html HTTP/1.0\n\n";


わごな[MAIL][URL][WriteDate :Sat Jul 29 02:49:27 2000]

多少(?)問題は残っていますが
とりあえずサーバからfileNotfoundとか
request errorとか帰ってくるようになりました
#エラー画面に壁紙が適用されていたのはある意味新鮮で
笑えましたが・・・(爆)

サーバエラーの原因をもう少し調査してみて
わからなかったら再度質問してみてよろしいでしょうか?
ありがとうございました


わごな[MAIL][URL][WriteDate :Sat Jul 29 02:50:04 2000]

完了にするのを忘れてました・・・(汗)
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




Back