2014-09-21 21 views
0

首次与主机名的HTTP连接花费的时间比后续请求稍长。尤其是,DNS查询需要很长时间。在ANDROID中使用InetAddress或Runtime.getRuntime()。exec()实现DNS预取器/解析器

我试图使用InetAddress或Runtime.getRuntime()。exec()来实现基本DNS预取器/解析器,以便在不使用任何第三方库的情况下提高ANDROID java中的HTTP请求性能。

谢谢 NIZ

+0

那么......你的问题/问题陈述究竟是什么?你到目前为止有什么? – 2014-09-21 05:32:15

回答

1

试试这个。它只是通过String param提供的主机名来确定主机的IP地址。希望它可以帮助你。

public boolean webSiteAvailable(String url) { 
try { 
    InetAddress ipAddr = InetAddress.getByName(url); 
    if (ipAddr.equals("")) { 
     return false; 
    } else { 
     return true; 
    } 
} catch (UnknownHostException e) { 
    e.printStackTrace(); 
    return false; 
} 
} 
+0

无论如何解决一个安全的URL,而不是主机? 'https://主机名/路径' 不幸的是,试图解析主机名并不能解决我的问题。 如果您在URL中使用HTTPS,上述代码将抛出UnknownHostException。所以,你只能使用主机名而不使用方案和路径。 – Nizzy 2014-09-27 09:16:30