我在本地网络上有一些 Windows 7 机器,每台机器都有一个主机名。其中一个是运行 Java 8 应用程序,该应用程序必须通过 HTTP 访问另一台机器,因此它需要形成一个包含服务器机器主机名的 URI。运行 HTTP 服务器的机器有一个包含日文字符的主机名,这些字符在 URI 中是不允许的。
如何构造 URI 以访问本地网络上的服务器?RFC 4501,“域名系统统一资源标识符”,表示根据 RFC 3986,“统一资源标识符 (URI):通用语法”进行编码,我将其推断为 UTF-8 八位字节的百分比编码。但是 RFC 3490,“应用程序中的国际化域名 (IDNA)”,表示要转换为 Punycode。
那么它是百分比编码还是 Punycode 呢?哪种编码允许 Java 应用程序成功查找并连接到本地网络上的另一台 Windows 7 机器,主机名中包含扩展字符?