gpt4 book ai didi

java - 如何使用 Apache HTTP 客户端获取像 "http://ньюбаланс.рф"这样的西里尔域名?

转载 作者:可可西里 更新时间:2023-11-01 16:49:44 27 4
gpt4 key购买 nike

org.apache.httpcomponents 版本 4.3.6 使用 httpclient 我尝试执行 GET 请求像 http://ньюбаланс.рф by new HttpGet(url) 这样的域名,但最终会出现以下错误:

Caused by: java.net.UnknownHostException: ?????????.??
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)
at java.net.InetAddress.getAllByName0(InetAddress.java:1255)
...

url 变量具有正确的 UTF-8 值 - 它绝对不是从“?”构建的字符。

如何向此类域名发送请求?

最佳答案

在解析域之前,您需要将域名编码为微不足道的代码。

final encodedDomain = IDN.toASCII(unicodeDomain);

另请在此处查看 Android 文档:http://developer.android.com/reference/java/net/IDN.html

关于java - 如何使用 Apache HTTP 客户端获取像 "http://ньюбаланс.рф"这样的西里尔域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32059317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com