Androidのjava.net.URIでIPv6 scope_idが扱えない件
タイトル通り.
URI v6linklocal = new URI("http://[fe80::1%9]/foo");
を呼ぶとURISyntaxException
が返ってくる.
scope_idについては,RFC 4007で文書化されている.しかしAndroid Developersに
A Uniform Resource Identifier that identifies an abstract or physical resource, as specified by RFC 2396.
と書かれている通り,Androidのjava.net.URIはRFC 2396に準拠している.そのため,最初に示したようなURIは誤りとして扱われる.
今のところ,直接的な対処法は無さそう.