管理しているアプリのログの例外をチェックしていたところ、 http://www.お名前.com/ のような日本語ドメイン名のURIのデータを取得して処理する部分で URI::InvalidURIError が出ているのを見つけました。 処理対象のデータを取得するにあたり、open-uriを使用していましたが、open-uriは日本語を含むURIを扱うことができません。 ところで、RFCによれば、URIの定義は2つあります。 ひとつは1998年に発行されたRFC 2396 もうひとつは2005年に発行されたRFC 3986 日本語ドメイン名も含めて、RFC 3986の定義によるより広範なURIを扱うことができるaddressableを使用して対処することにしました。 まず、標準ライブラリのURIとopen-uriを使用して日本語を含むURLを扱うとどんな例外が発生するか? という内容を確認し