上野
2000/03/03(金) 10:33:20
過去ログを参考にして他のページを表示させるプログラムを
作ることができました。発言者の皆様、ありがとうございました。m(__)m
しかし、ほとんどのページはうまく表示できるのですが、
ときどきおかしな現象が起こります。
例えば、ラウンジのページ
http://www.wakusei.ne.jp/twn/wwwlng.cgi
を表示させてみたところ、
ページの頭に fe7
ページの最後に 0
が表示されました。
これは、(私にはわからないけれど(^^;)たぶん意味がある
んだと思いますが、さらに、ページの途中に
1000
という行が6行も追加されてしまいました。
他のページでも試してみましたが、どうやら文字がsjisで、表が多く使われている
ページで起こるようです。表示される文字はページによって異なっていて
他のページではf78とかffbなどが追加されました。
これらは16進数の数字のように見えますが...。
どうしたら、この余計な文字を消せるでしょうか?
どなたか教えて下さい m(__)m
なお、以下のプログラムをfreewebで動かしています。
#!/usr/local/bin/perl
$addr = (gethostbyname("www.wakusei.ne.jp"))[4];
$name = pack("S n a4 x8", 2, 80, $addr);
socket(S, 2, 2, 0);
connect(S, $name);
binmode(S);
select(S); $| = 1; select(stdout);
print S "GET /twn/wwwlng.cgi HTTP/1.1\r\n";
print S "Host:www.wakusei.ne.jp\r\n\r\n";
while (<S>) { last if /^\s*$/; }
print "Content-Type: text/html\n\n";
while (<S>) { print; }
close(S);