Java 测试URL地址是否能正常连接
public static int testWsdlConnection(String address) throws Exception { int status = 404; try { URL urlObj = new URL(address); HttpURLConnection oc = (HttpURLConnection) urlObj.openConnection(); oc.setUseCaches(false); oc.setConnectTimeout(3000); // 设置超时时间 status = oc.getResponseCode();// 请求状态 if (200 == status) { // 200是请求地址顺利连通。。 return status; } } catch (Exception e) { e.printStackTrace(); throw e; } return status; }
定义了一个int型,如果返回可200则是地址能成功连通,如果返回0或者其他则是失败。
下面再看一段关于Java检测URL是否可用或者可打开的代码
package test; import java.net.HttpURLConnection; import java.net.URL; import org.apache.log4j.Logger; public class CheskUrl { private static Logger logger = Logger.getLogger(CheskUrl.class); private static URL urlStr; private static HttpURLConnection connection; private static int state = -1; private static String succ; public synchronized String isConnect(String url) { int counts = 0; succ = null; if (url == null || url.length() <= 0) { return succ; } while (counts < 5) { try { urlStr = new URL(url); connection = (HttpURLConnection) urlStr.openConnection(); state = connection.getResponseCode(); if (state == 200) { succ = connection.getURL().toString(); } break; } catch (Exception ex) { counts++; logger.info("loop :" + counts); continue; } } return succ; } }