< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事
N :次の記事
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
In message <ufywcrkj7.wl%mzaki / biol.s.u-tokyo.ac.jp>
on Tue, 24 May 2005 19:22:17 +0900,
Motomichi Matsuzaki <mzaki / e-mail.ne.jp> wrote:
> Net::HTTP を使って CGI へクエリを投げ込むスクリプトを組んでいますが、
> ターゲットの CGI スクリプトが困った仕様になっていて、
> nph- スクリプトなのに HTTP ステータスラインを生成しません。
それらの動作環境(OSの種類やバージョン)は何なのでしょうか。
> % telnet hogehoge.jp 80
> GET /cgi-bin/nph-query HTTP/1.0
>
> <HTML> # 本来この行の前に HTTP/1.0 200 OK などと入るべき
問題はCGIスクリプトというよりも、Webサーバの設定を含めた問題だったりす
ることはないのでしょうか。
> <HEAD><TITLE>.....</TITLE></HEAD>
> :
> :
> %
>
> という具合の挙動をします。
たいへん後ろ向きな解決策としては、Webサーバへのリクエストと応答の処理
を、別のwrapperなスクリプトで行うという手段もありそうに思えます。Webク
ライアントの動作環境によっては困難でしょうけれど。
> /usr/local/lib/ruby/1.8/net/http.rb:1556:in `read_status_line': wrong status line: "<HTML>" (Net::HTTPBadResponse)
> from /usr/local/lib/ruby/1.8/net/http.rb:1538:in `read_new'
> from /usr/local/lib/ruby/1.8/net/http.rb:833:in `request'
> from /usr/local/lib/ruby/1.8/net/http.rb:690:in `post'
> from ./query.rb:80
>
> という具合に例外で落ちてしまいます。
> # Net::HTTP.request は「 HTTP 関連の例外を発生させない」と書いてありますが…
ドキュメントが正しくないということでしょう。;-p
> まあ、明らかにスクリプトの方が仕様外なので仕方ないのです
> (そして連絡しても直してもらえないのです)が、
> 例外を拾っても救済する方法がわかりませんでした。
HTTPとしての仕様を満たしていない以上、例外を拾って救済するのはエラー処
理をする以上のことはできないわけです。エラーとせずにデータを受け取りた
いなら、http.rbで定義されている内容を元に修正が必要になると思います。
--
神戸 隆博(かんべ たかひろ) at 仕事場