当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何以编程方式测试HTTP连接?》经验,为你挑选了2个好方法。

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

http://stackoverflow.com/about

brasskazoo.. 42

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

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

如果您在网络上可用的计算机上使用它但没有运行Web服务器,则此方法将挂起.您需要在HttpURLConnection上使用setConnectTimeout和/或setReadTimeout. (5认同)


John T.. 6

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



1> brasskazoo..:

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

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


如果您在网络上可用的计算机上使用它但没有运行Web服务器,则此方法将挂起.您需要在HttpURLConnection上使用setConnectTimeout和/或setReadTimeout.

2> John T..:

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


isReachable只测试你可以到达网站,而不是网站实际上正在运行(例如,返回200而不是500等).
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有