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

2022-09-02 00:54:40

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

http://stackoverflow.com/about

答案 1

作为单元测试的解决方案:

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;
    }
}

答案 2

从java 5开始,如果我记得,InetAdress类包含一个名为isReachable()的方法;所以你可以用它在java中做一个ping实现。还可以为此方法指定超时。这只是上面发布的单元测试方法的另一种替代方法,这可能更有效。