首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Apache客户端获取像" HTTP ://ньюбаланс.рф“这样的西里尔域?

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

Stack Overflow用户
提问于 2015-08-17 20:40:46
回答 2查看 558关注 0票数 1

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

代码语言:javascript
复制
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值-它肯定不是从'?‘人物。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-17 20:46:23

在解析域之前,您需要将域名编码为小代码。

代码语言:javascript
复制
final encodedDomain = IDN.toASCII(unicodeDomain);

还请查看这里的Android文档:http://developer.android.com/reference/java/net/IDN.html

票数 5
EN

Stack Overflow用户

发布于 2015-08-17 20:42:54

我找到了解决办法

代码语言:javascript
复制
"http://"+IDN.toASCII(domain);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32059317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档