用Java检查网站状态
在Java中,是否有允许检查网站状态的标准库,即网站是否可访问用Java检查网站状态,java,web,Java,Web,在Java中,是否有允许检查网站状态的标准库,即网站是否可访问 如果没有,是否有任何第三方库可以执行相同的操作?您可以使用HTTP库,如发出请求并检查返回代码您可以使用HTTP库,如发出请求并检查返回代码您可以使用jersey client大量示例,如 或者您可以使用org.apache.http.client。您可以使用jersey客户端,例如 或者您可以使用org.apache.http.client。您可以打开到URL的连接并检索响应代码和可选内容: public static b
如果没有,是否有任何第三方库可以执行相同的操作?您可以使用HTTP库,如发出请求并检查返回代码您可以使用HTTP库,如发出请求并检查返回代码您可以使用jersey client大量示例,如
或者您可以使用org.apache.http.client。您可以使用jersey客户端,例如
或者您可以使用org.apache.http.client。您可以打开到URL的连接并检索响应代码和可选内容:
public static boolean isSiteUp(URL site) {
try {
HttpURLConnection conn = (HttpURLConnection) site.openConnection();
conn.getContent();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
return true;
}
return false;
} catch (SocketTimeoutException tout) {
return false;
} catch (IOException ioex) {
// You may decide on more specific behaviour...
return false;
}
}
什么样的响应代码,你认为意味着网站上下将取决于您的应用程序。如果您收到内容禁止的回复,这是否意味着该网站是为您的目的而建立的?除非该站点实际返回一个代码来表示我停机,否则您需要做出决定,例如,超时是否表示该站点实际停机,或者您是否存在本地防火墙问题等。但是,上面的一些变体应该足够了。您可以打开到URL的连接并检索响应代码和可选内容:
public static boolean isSiteUp(URL site) {
try {
HttpURLConnection conn = (HttpURLConnection) site.openConnection();
conn.getContent();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
return true;
}
return false;
} catch (SocketTimeoutException tout) {
return false;
} catch (IOException ioex) {
// You may decide on more specific behaviour...
return false;
}
}
什么样的响应代码,你认为意味着网站上下将取决于您的应用程序。如果您收到内容禁止的回复,这是否意味着该网站是为您的目的而建立的?除非站点实际返回一个代码来表示我停机,否则您需要做出决定,例如,超时是否表示站点实际停机,或者您是否存在本地防火墙问题等。但是,上面的一些变体应该足够了。您可以使用任何可以进行http调用的JAVA库。两个这样流行的java库是HttpClient和URLConnection 所以,您只需要使用上述任一库获取url的状态。若状态为200,那个么URL是向上的
如果您想在任何基于unix的机器上执行此操作,那么curl实用程序很容易知道状态。只需在curl上执行man操作,您将获得所有选项。您可以使用任何可以进行http调用的JAVA库。两个这样流行的java库是HttpClient和URLConnection 所以,您只需要使用上述任一库获取url的状态。若状态为200,那个么URL是向上的
如果您想在任何基于unix的机器上执行此操作,那么curl实用程序很容易知道状态。只需在curl上做一个人,你就会得到所有的选项。你可以做下面的事情,得到的响应是200,即可访问,否则不可访问
public static boolean isAccessable(String url, int timeout) {
url = url.replaceFirst("https", "http"); // Otherwise an exception may
// be thrown on invalid SSL
// certificates.
try {
HttpURLConnection connection = (HttpURLConnection) new URL(url)
.openConnection();
connection.setConnectTimeout(timeout);
connection.setReadTimeout(timeout);
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
if (responseCode != 200) {
return false;
}
} catch (IOException exception) {
return false;
}
return true;
}
您可以执行以下操作,得到的响应为200,即可访问,否则不可访问
public static boolean isAccessable(String url, int timeout) {
url = url.replaceFirst("https", "http"); // Otherwise an exception may
// be thrown on invalid SSL
// certificates.
try {
HttpURLConnection connection = (HttpURLConnection) new URL(url)
.openConnection();
connection.setConnectTimeout(timeout);
connection.setReadTimeout(timeout);
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
if (responseCode != 200) {
return false;
}
} catch (IOException exception) {
return false;
}
return true;
}
使用URLConnection,获取InputStream并尝试读取。如果超时,则无法访问您的网站。请使用URL连接,获取InputStream并尝试读取。如果超时,您的网站将无法访问。无需为此引入库。看,没有必要为此引进图书馆。看见