java.net.UnknownHostException:www.google.com
我正在开发一个健康检查web应用程序。我尝试使用HttpUrlConnection方法获取url响应,但我得到了UnknownHostExceptionjava.net.UnknownHostException:www.google.com,java,exception,Java,Exception,我正在开发一个健康检查web应用程序。我尝试使用HttpUrlConnection方法获取url响应,但我得到了UnknownHostException System.setProperty("java.net.preferIPv4Stack" , "true"); String[] uat_targetUrls={"https://www.google.com"}; String[] uat_targetResponse=new String[uat_targetUrls.l
System.setProperty("java.net.preferIPv4Stack" , "true");
String[] uat_targetUrls={"https://www.google.com"};
String[] uat_targetResponse=new String[uat_targetUrls.length];
HttpURLConnection httpUrlConn;
httpUrlConn = (HttpURLConnection) new URL(uat_targetUrls[i])
.openConnection();
httpUrlConn.setRequestMethod("GET");
httpUrlConn.setConnectTimeout(30000);
httpUrlConn.setReadTimeout(30000);
if(httpUrlConn.getResponseCode()==200)
uat_targetResponse[i]="UP";
else
uat_targetResponse[i]="DOWN";
当执行此操作时,我得到了各种URL的UnknownHostException。有人能帮我吗。我正在使用EclipseIDE。这就是我得到的错误:
java.net.UnknownHostException: www.google.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
谢谢。问题一定是您机器上的网络问题 您的代码对我有效(通过一些小的修复来修复丢失的循环变量
i
):
输出:
UP
我测试了您提供的代码,似乎工作正常。未解析IP地址时引发UnknownHostException。
如果您在某个组织中,请检查网络是否允许您通过代码连接到网络,或者DNS设置是否正确。使用ping www.google.com-4查看您是否可以通过ipv4访问google.com 试试ping
www.google.com
使用
如果出现超时错误原因1:没有互联网连接
原因2:您可能在代理服务器后面。
原因3:将凭据添加到标头可能需要配置代理?我可以通过浏览器访问url,但无法在ping上从主机获得回复。Eclipse中的首选项>常规>网络连接是什么样子的?我可以看到两个部分:代理条目和代理绕过。在Proxy ByPass->localhost和127.0.0.1中有2个条目。在代理条目中,HTTP被选中。我可以通过浏览器访问url,但当我尝试ping主机名时,它不会回复。你能检查这是否有帮助吗?感谢Code Fighter,我尝试使用给定的解决方案更改我的程序,但它不起作用。是的,这在我的本地计算机上也适用于我。从组织桌面使用时,我遇到了问题。您对此有解决方案吗。@NikhileshTiwari恐怕这是一个错误的网站,无法帮助您解决网络问题。
public static void main(String[] args) throws Exception {
System.setProperty("java.net.preferIPv4Stack", "true");
String[] uat_targetUrls = { "https://www.google.com" };
String[] uat_targetResponse = new String[uat_targetUrls.length];
HttpURLConnection httpUrlConn;
httpUrlConn = (HttpURLConnection) new URL(uat_targetUrls[0])
.openConnection();
httpUrlConn.setRequestMethod("GET");
httpUrlConn.setConnectTimeout(30000);
httpUrlConn.setReadTimeout(30000);
if (httpUrlConn.getResponseCode() == 200)
uat_targetResponse[0] = "UP";
else
uat_targetResponse[0] = "DOWN";
System.out.println(uat_targetResponse[0]);
}
ping www.google.com -t