我正在尝试建立一个网站监控系统。我需要计算网站响应所需的时间或总加载时间。
问问题
745 次
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 回答