Rubyについて Part 23
■ このスレッドは過去ログ倉庫に格納されています
0618デフォルトの名無しさん
2006/09/18(月) 19:26:30586 :デフォルトの名無しさん :sage :2006/09/05(火) 10:34:49
環境:ruby 1.8.4 (2005-12-24) [i386-mswin32]
WEBrick使ってるんですけど、特定のホストで例外が起きます。
調べてみると、ホスト名の認識がまずいようで、
URI::parse('(p)http://shacho_soft.at.infoseek.co.jp/diablo_calc/calc.html')
上記のホストで、ホスト名にアンダースコアが含まれてるために host ではなくて registry が設定されてしまい
InvalidURIErro例外が発生します。WEBrick的には HTTPStatus::BadRequest です。
uri/common.rb の↓の部分でアンダースコアが含まれてないから、上手くいかないんだと思うんですけど
DOMLABEL = "(?:[#{ALNUM}](?:[-#{ALNUM}]*[#{ALNUM}])?)"
TOPLABEL = "(?:[#{ALPHA}](?:[-#{ALNUM}]*[#{ALNUM}])?)"
HOSTNAME = "(?:#{DOMLABEL}\\.)*#{TOPLABEL}\\.?"
こういうのって、きっちりRFCにしたがってるんだと思いますが
どうにかして上手く回避する方法はないでしょうか?
たぶん、アンダースコアを含めれば上手くいくんでしょうけど、
この手の問題って、過去に問題になってる気がするので、賢い方法があったら教えてください
588 :デフォルトの名無しさん :sage :2006/09/05(火) 12:58:45
>>586
俺もいつも困ってるんだが、なんかうまい方法ないかねえ。
589 :デフォルトの名無しさん :sage :2006/09/05(火) 13:10:33
>>588
本スレにぶん投げるといいことあるかも
■ このスレッドは過去ログ倉庫に格納されています