ユーザーからURI/URL文字列を取得し、機能する標準形式を判別する方法を見つけようとしています(または、リソースが有効でない場合は失敗します)。同時に、URLが存在することも確認する必要があります。したがって、有効な「構文」と存在の両方をチェックしています。
たとえば、のような文字列google.com
はに変換する必要がhttp://www.google.com
あり、のような文字列google.com/insights
はに変換する必要がありますhttp://www.google.com/insights
。のような文字列http://thiswebsitedoesntexistatall.com
は、ある種のエラーまたは例外を返す必要があります。
ソリューションの一部は、HTTPメソッドを呼び出し、ステータスget_response()
を取得するまでリダイレクトを追跡している可能性が高いと思います。200 OK
URI.parse()
この方法では、を省略してもかまわないようhttp
です。前に追加するなどの簡単なものを書けるとは思いhttp
ますが、URLを本当に寛容にして正規化してくれる既存のgemやあまり知られていないライブラリ関数があることを期待していました。
ビルトインnet/http
とHTTParty
私が探しているものには厳しすぎるようです。これを行うための良い方法はありますか?