Edited at

rubyでアンダースコアの混じったURIは使えない

More than 5 years have passed since last update.

ちょっとハマったのでメモ

テストの時に外部APIにアクセスするURIを

test_server

とか使っていて

/etc/hostsにもテスト用のサーバーの設定を追加して

127.0.0.1 test_server

コマンドラインから ping も通るのに

rubyでこのURIを使用すると

URI::InvalidURIError:

the scheme http does not accept registry part: test_server (or bad hostname?)

とかって例外が発生する。

rfcとかだと最新は、使って良いらしいんだけど...

で、アンダースコアを"-"とかに変更すると許してもらえた。

test-server