首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >api.api.ai:名称解析中的临时失败

api.api.ai:名称解析中的临时失败
EN

Stack Overflow用户
提问于 2017-08-24 18:05:35
回答 1查看 11.1K关注 0票数 3

使用我的代码(如下所示),我会随机得到适当的结果。但大多数时候我都会犯错。

例外情况:

代码语言:javascript
复制
java.net.UnknownHostException: api.api.ai: Temporary failure in name resolution
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
..<snip>...
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at PostJSON.main(PostJSON.java:34)

SSCCE代码:

代码语言:javascript
复制
private static final String URL = "https://api.api.ai/v1/query?v=20150910";
private static final String ACCESS_CODE = "XXXXXX";
public static final HttpClient client = HttpClientBuilder.create().build();
public static final HttpPost httppost = new HttpPost(URL);

private static final String str_json = "{ query: \"how are you\", lang: \"en\", sessionId: \"somerandomthing\" }";

public static void main(String[] args) {

    try {

        HttpEntity entity = new ByteArrayEntity(str_json.getBytes("UTF-8"));
        httppost.setHeader("Content-Type",
                "application/json; charset=utf-8");
        httppost.setHeader("Authorization", "Bearer " + ACCESS_CODE);
        httppost.setEntity(entity);
        HttpResponse response = client.execute(httppost);
        String result = EntityUtils.toString(response.getEntity());
        System.out.println(result);
    } catch (Exception ex) {
        ex.printStackTrace();
    } 
}

NSLOOKUP:

代码语言:javascript
复制
zeek@zeek:$ nslookup api.ai.ai
Server:     127.0.1.1  
Address:    127.0.1.1#53

Non-authoritative answer:  
Name:   api.ai.ai  
Address: 92.242.140.21

/ETC/主机

代码语言:javascript
复制
127.0.0.1   localhost
127.0.1.1   zeek

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

注:有时确实有效。

请建议我应该从我的身边检查什么设置/配置。

还请注意,我的ping到api.api.ai很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-09 13:09:34

发布解决方案来帮助其他面临同样问题的人,

“哈克曼说的话是这样的:

我的wifi扩展程序无法处理IPV6翻译。当遇到类似的问题时,一定要检查wifi扩展程序规范。

作为解决方案/黑客(如果您必须使用IPV4 4专用路由器),请在启动java时使用以下内容

代码语言:javascript
复制
-DpreferIPv4Stack
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45868239

复制
相关文章

相似问题

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