他のサーバのファイル読みこみ?

[上に] [前に] [次に]
J.Naka 1999/12/04(土) 00:59:48
過去にも同様な質問が幾つかあり、その難易度は把握しているつもりなのですが、やはりやってみたいという思いが強いので新規質問してみました。

http://www.tohoho-web.com/wwwperl2.htm#socket
↑これを自宅サーバー(WIN95 IE4 httpd1.15)で動作させたいのですが、ウントモスントモなりません。
動作させる上で要点とか注意する点とか何かあるでしょうか?

1999/12/04(土) 01:18:48
今ちょっと
http://www.tohoho-web.com/wwwperl2.htm#socket
を見て以下の様な物を作ってみました。
殆ど変更点はありませんが・・。

$url = 'http://hogehoge.com/foo/index.html';
(($host,$file) = ($url =~m|http://([^/:]+)(\S*)|));
$addr = (gethostbyname("$host"))[4];
$name = pack("S n a4 x8", 2, 80, $addr);
socket(S, 2, 1, 0);
connect(S, $name);
select(S);
$| = 1;
select(stdout);
print S "GET $file HTTP/1.0\n\n";
@line = <S>;
close(S);
とりあえず、こんなんで@lineに他のページを格納できました。
よくわかってはいませんが・・・。

J.Naka 1999/12/04(土) 03:24:37
ども、猫さん。
提示ソースに以下を足してばっちり動作確認しました。
あっりがとっさ〜ん。

foreach $i (@line){
print "$i\n";
}

Selly 1999/12/04(土) 06:47:46
HostやUser-Agentヘッダを発行した方がいいのでは?

print S <<_HTTP_REQUEST_;
GET $file HTTP/1.0
Host: $host
User-Agent: SocketTest/1.00

_HTTP_REQUEST_

[上に] [前に] [次に]