简记Java:OkHttp3 的 response.body().string() 的坑

今天接受OkHttp3response.body().string(),遇到 java.lang.IllegalArgumentException。简记

原来response.body().string()只能调用一次,前面已经调用过,再次当成入参使用就报了IllegalArgumentException。不能多次重复调用,看源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
public final String string() throws IOException {
BufferedSource source = this.source();

String var3;
try {
Charset charset = Util.bomAwareCharset(source, this.charset());
var3 = source.readString(charset);
} finally {
Util.closeQuietly(source);
}

return var3;
}

它调用后就关闭了。