0

我创建了一个 Web 应用程序,并托管在服务器上。现在我想创建一个 java 程序,它将循环访问(或“点击”)我的应用程序的 URL,以便我可以检查我的 Web 应用程序可以处理多少负载。此外,该程序应该能够告诉我 URL 何时成功访问,何时不成功。

我尝试在不使用循环的情况下执行它:

try {
        URL url = new URL("https://example.com/");
        BufferedReader in = new BufferedReader(
                new InputStreamReader(url.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            System.out.println(inputLine);
        }
        in.close();
    } catch (Exception e) {
        System.out.println("e: " + e.toString());
    }

但是,我得到了这个错误:

e: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No  subject alternative DNS name matching example.com found.
4

2 回答 2

2

采用,

javax.net.ssl.HttpsURLConnection

连接到https://

类似的东西(注意,处理资源关闭,异常等留在你身上)

final URL url = new URL("https://example.com");
final HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
final BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String input;

while ((input = br.readLine()) != null){
    System.out.println(input);
}

但是有很多工具可用于对其进行负载测试

于 2013-08-12T06:21:18.270 回答
0

您只是从 url 获取流,但显然此 url 使用 HTTPS,因此您需要将“公钥”导入客户端应用程序。否则客户端和服务器将无法相互通信。

于 2013-08-12T06:25:17.163 回答