Rao*_*uke 6 java http url-encoding
我有一个 URI 字符串,如下所示:
我正在用这个字符串创建一个 java.lang.URI 实例,它成功了,但是当我想检索主机时,它返回 null。如果我完全按照上面显示的方式输入它,Opera 和 Firefox 也会阻塞在这个 URL 上。但是如果 URI 类无效,不应该抛出一个 URISyntaxException 吗?那么我怎样才能检测到 URI 是非法的呢?
当我使用产生的 URLDecoder 解码字符串时,它的行为也相同
http: //www.christlicheparteiösterreichs.at/steiermark/
现在这被 Opera 和 Firefox 接受,但 java.net.URI 仍然不喜欢它。我该如何处理这样的 URL?
谢谢
Java 6 具有IDN处理国际化域名的类。因此,以下生成带有编码主机名的 URI:
URI u = new URI("http://" + IDN.toASCII("www.christlichepartei\xc3\xb6sterreichs.at") + "/steiermark/");\nRun Code Online (Sandbox Code Playgroud)\n