我正在开发一个健全性检查网络应用程序。我尝试使用 HttpUrlConnection 方法获取 url 响应,但收到 UnknownHostException。
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。谁可以帮我这个事。我正在使用 Eclipse IDE。这是我收到的错误:
java.net.UnknownHostException: www.google.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
Thanks.
问题一定是您机器上的网络问题。
您的代码对我有用(通过一些小修复来修复丢失的循环变量i
):
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]);
}
Output: UP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)