小编典典

确定HTTP响应的大小?

java

有没有办法确定HTTPServletResponse内容的大小?我读了这个get-size-of-http-response-in-
java问题,但可悲的是我在哪里工作,我无法访问CommonsIO :(

响应内容由单个复杂对象组成,因此我考虑将其写到临时文件中,然后检查该文件。在应用程序在生产环境中运行时,这不是我想做的诊断方法,因此,如果可能的话,请避免使用它。

PS我读了埃里克森的答案,但它提到了输入流,我想知道要写出的对象的大小…如果该writeObject()方法返回一个代表写的字节数而不是void
的数字,那将非常好


阅读 179

收藏
2020-09-28

共1个答案

小编典典

我最终找到了一种获得想要的方法:

URLConnection con = servletURL.openConnection();
BufferedInputStream bif = new BufferedInputStream(con.getInputStream());
ObjectInputStream input = new ObjectInputStream(bif);
int avail = bif.available();

System.out.println("Response content size = " + avail);

这使我可以看到客户端的响应大小。我仍然想知道它在发送之前在服务器端是什么,但这是次要的事情。

2020-09-28