gpt4 book ai didi

java - 如何检查 URL 是否被我的防火墙阻止

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:09 26 4
gpt4 key购买 nike

我正在尝试检查 URL 是否可访问。我正在为此使用 HttpURLConnection。这是我现在正在实现的。

public static boolean isUrlAccessible(final String urlToValidate)
throws WAGException {
URL url = null;
HttpURLConnection huc = null;
int responseCode = -1;
try {
url = new URL(urlToValidate);
huc = (HttpURLConnection) url.openConnection();
huc.setRequestMethod("HEAD");
huc.connect();
responseCode = huc.getResponseCode();
} catch (final UnknownHostException e) {
e.printStackTrace();
System.out.println(e.getMessage()+" "+e.getLocalizedMessage());
return false;
} catch (final MalformedURLException e){
e.printStackTrace();
System.out.println(e.getMessage()+" "+e.getLocalizedMessage());
return false;
} catch (ProtocolException e) {
e.printStackTrace();
System.out.println(e.getMessage()+" "+e.getLocalizedMessage());
return false;
} catch (IOException e) {
e.printStackTrace();
System.out.println(e.getMessage()+" "+e.getLocalizedMessage());
return false;
} finally {
if (huc != null) {
huc.disconnect();
}
}
return responseCode == 200;
}

当 Internet 出现故障时会抛出 UnknownHostException,我想知道如何检查防火墙是否阻止了 URL,这就是为什么我会收到异常,而不是因为 URL 不可访问。此外,我只是检查响应代码 200 以确保该 URL 可访问。我还需要执行其他检查吗?

最佳答案

When the Internet is down it throws an UnknownHostException

不,当 DNS 关闭或主机不为 DNS 所知时,它会抛出该错误。

I wanted to know how do I check if a fire wall is blocking a URL

您将获得连接超时。在极少数情况下,使用过时的硬件,您可能会拒绝连接,但本世纪我还没有听说过。但如果主机关闭,您也会遇到连接超时。

I am just checking for response code 200 to make sure that the URL is accessible. Are there any other checks I need to perform?

没有。但是 URL 不会被防火墙阻止。 端口 被防火墙阻止。

关于java - 如何检查 URL 是否被我的防火墙阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25268406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com