改造:如何获得请求和响应的大小?

时间:2016-05-04 21:37:17

标签: logging retrofit

我正在开发一个Android应用程序并使用改造来发送请求并获得响应。像这样:

public interface Service {
    @POST("/GetInfo")
    InfoResponse getInfo(@Body InfoRequest request);
}

我想知道在执行这些请求时将使用多少数据。

我发现如果设置LogLevel进行改造,它可以打印出日志中的大小。

要求:

---> HTTP POST http://....
Content-Type: application/json; charset=UTF-8
Content-Length: 516
---> END HTTP (522-byte body)

回复:

<--- HTTP 200  http://....
:HTTP/1.1 200 OK 
Content-Type: application/json 
<--- END HTTP (420394-byte body)

这个522字节和420394字节的信息是我想要的。有没有办法直接获取它而不获取日志并解析它?

如果我必须使用这个日志来计算大小,有什么好办法从日志中获取大小然后在android上显示?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在改造生成器中添加网络接收器并使用以下命令检查大小 responseBody.source().apply{request(Long.MAX_VALUE)}.buffer.size进行回复 和request.body.contentLength()进行请求