如何以编程方式测试HTTP连接?

使用Java,我如何测试URL是否可联系,并返回有效的响应?

http://stackoverflow.com/about 

作为unit testing的解决方案:

 public void testURL() throws Exception { String strUrl = "http://stackoverflow.com/about"; try { URL url = new URL(strUrl); HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); urlConn.connect(); assertEquals(HttpURLConnection.HTTP_OK, urlConn.getResponseCode()); } catch (IOException e) { System.err.println("Error creating HTTP connection"); e.printStackTrace(); throw e; } } 

因为我记得java 5,InetAdress类包含一个名为isReachable()的方法; 所以你可以使用它在java中进行ping实现。 您还可以为此方法指定超时。 这只是上面公布的unit testing方法的另一种替代方法,可能更有效。

 import org.apache.commons.validator.UrlValidator; public class ValidateUrlExample { public static void main(String[] args) { UrlValidator urlValidator = new UrlValidator(); //valid URL if (urlValidator.isValid("http://www.mkyong.com")) { System.out.println("url is valid"); } else { System.out.println("url is invalid"); } //invalid URL if (urlValidator.isValid("http://invalidURL^$&%$&^")) { System.out.println("url is valid"); } else { System.out.println("url is invalid"); } } } 

输出:

url有效
url无效

来源: http : //www.mkyong.com/java/how-to-validate-url-in-java/