URLをパースするクラスを作りました

2017.06.02  投稿者: moongift
開発Xojo

XojoでURLをパースするクラスがなかったので作成しました。

URLクラスの使い方

例えば次のようにURLを渡します。

url = new URL("http://rob:abcd1234@www.example.co.uk/path/index.html?query1=test&silly=willy&field[0]=zero&field[2]=two#test=hash&chucky=cheese")

そうするとデータが次のように取れます。

url.shema    // http
url.domain   // www.example.co.uk
url.userName // rob
url.password // abcd1234
url.path     // /path/index.html
url.params   // {query1=test, silly=willy, field[0]=zero, field[2]=two}
url.hashes   // {test=hash, chucky=cheese}

paramsとhashesはDictionaryなので、値を次のように取得できます。

url.params.Value("query1") // test

コードはGitHubリポジトリにアップロードしてあります。まだ異常系のテストが不十分かも知れませんので、不具合があればIssuesに登録をお願いします。

HTMLViewerに限らずURLを解析する機会は多いかと思います。ぜひご活用ください。