我正在开发一个Android应用程序并使用改造来发送请求并获得响应.像这样:
public interface Service {
@POST("/GetInfo")
InfoResponse getInfo(@Body InfoRequest request);
}
Run Code Online (Sandbox Code Playgroud)
我想知道在执行这些请求时将使用多少数据.
我发现如果我设置LogLevel进行改造,它可以打印出日志中的大小.
要求:
Run Code Online (Sandbox Code Playgroud)---> HTTP POST http://.... Content-Type: application/json; charset=UTF-8 Content-Length: 516 ---> END HTTP (522-byte body)
对于回复:
Run Code Online (Sandbox Code Playgroud)<--- HTTP 200 http://.... :HTTP/1.1 200 OK Content-Type: application/json <--- END HTTP (420394-byte body)
这个522字节和420394字节的信息是我想要的.有没有办法直接获取它而不获取日志并解析它?
如果我必须使用这个日志来计算大小,有什么好办法从日志中获取大小然后在android上显示?
谢谢!
您可以在改造构建器中添加网络拦截器并检查用于
responseBody.source().apply{request(Long.MAX_VALUE)}.buffer.size
响应和request.body.contentLength()
请求的大小