|
はじめまして。にゃと申します。 @ふくし さん おそらく接続がKeep-aliveのままに なっているのではないかと思います。 Connection: close というヘッダを追加して試してみてください。 ローカルでCGIのテストをするときはLinuxでApacheを動かしていますが、 こちらではCGIを動かすと自動的にこのヘッダを付けてくれるようです。 あとskel.103M さんも指摘されてますがヘッダの部分は 改行コードを"\r\n"にしたほうが良いかもしれません。 ヘッダの部分だけ書くとこんな感じかな? print "Connection: close\r\nContent-type: text/html\r\n\r\n" |
|
skel.103Mさん、にゃさん、お返事ありがとうございました。 \r\n も、\n\r も、\r\n\r\n も、\n\r\n\r もダメでした。(;.;) ちなみに httpd.conf で KeepAlive Off にしています。 Telnet でたたいてみると(この発想がなぜかありませんでした ^^;)、 $ telnet localhost 80 Trying 127.0.0.1... Connected to tokumei.kibou.catv.ne.jp. Escape character is '^]'. GET http://localhost/cgi-bin/test.cgi HTTP/1.0 HTTP/1.1 200 OK Date: Fri, 18 Aug 2000 13:25:42 GMT Server: Apache/1.3.12 (Cygwin) Connection: close Content-Type: text/html <html>どうなんでしょうね</html> とここまで表示して端末の動きが固まってしまい、 Ctrl-Z を押すと、 Connection closed by foreign host. $ と出て終わります。 (ふつうの html を表示させるときは固まりません) また、上のように、Connection: close は Cygwin でも挿入されるようですねー。 (KeepAlive On にしてみても挿入されました) とまれ、どうもありがとうございます。 引き続き何かありましたらよろしくおねがいします。 ちなみに、勉強用に使っているのはオライリーの「ねずみの本」ですが、 これでは \n\n になっているんですが、\r\n が正式なんでしょうか? あるいは Cygwin だから Windows 改行にした方がいいということですか? これも合わせてよろしくおねがいします。 質問ばかりで申し訳ありませんが、ご無理のない範囲でどうぞよろしくお願いします。 |
|
> これからしばらくは書き込まないと思います。 と言いながら、早々に復帰してみたり。 Windows も cygwin も詳しくありませんが、スクリプトの最後に close(STDOUT); を入れるとどうなりますか? でもまぁ、どの方法で解決したとしても挙動が変なわけで、 > 肝心のApacheがどうしてもインストールできません。 > 具体的な現象でいうと、makeで「no rule for targat all. stop」 をなんとかするか、別の WWW サーバを入れるのが 正しい道のような気もします。 |
|
68userさん> お忙しいところ、お返事ありがとうございます。 close(STDOUT); を早速入れてみましたが、ダメでした。 うーむぅApache以外のhttpdかー、考えませんでした。 どんなもんがあるんでしょうね(自分でも調べますが) とまれ、どうもありがとうございましら。 |