0

我正在尝试建立一个网站监控系统。我需要计算网站响应所需的时间或总加载时间。

4

1 回答 1

2

如果要计算 http 请求和响应之间的往返行程,可以使用apache http components。这曾经被称为 apache http 客户端。

这是我用来发出请求的一些示例代码。您可以在请求之前和之后获取时间戳。

    HttpClient httpclient = new DefaultHttpClient();
    URIBuilder builder = new URIBuilder();
    URI uri = null;
    HttpEntity entity = null;
    InputStream inputStream = null;
    JSONObject jsonObject = null;
    URL url = this.getClass().getClassLoader().getResource("json" + File.separator + "newInstall.json");
    try {
        String json = FileUtil.readFile(url.getPath());
        builder.setScheme("http").setHost(host).setPort(8080).setPath(basePath + authResource)
                .setParameter("sig", "sig").setParameter("params", json);
        uri = builder.build();
        log.info("uri: {}", uri);
        HttpGet httpget = new HttpGet(uri);
        HttpResponse response = httpclient.execute(httpget);
        entity = response.getEntity();
        if (entity != null) {
            inputStream = entity.getContent();
            String jsonString = IOUtils.toString(inputStream, "UTF-8");
            jsonObject = new JSONObject(jsonString);
            log.info("auth response: {}", jsonString);
        }
    } catch (Exception e) {
        log.error("error", e);
    }finally {
        if(inputStream != null) {
            try {
                inputStream.close();
            }catch(Exception ex) {
                log.error("error closing input stream", ex);
            }
        }
    }
于 2012-07-21T18:21:10.663 回答