出现异常的代码块如下:
CloseableHttpClient httpClient = getHttpClient();
// 调用HttpClient发送Http请求,并对响应进行处理,转换成字节数组
HttpResponse response;
response = httpClient.execute(method);
byte[] bytes = EntityUtils.toByteArray(response.getEntity());----出现异常的行。
异常翻译:Premature end of chunk coded message body: closing chunk expected
翻译如下:过早的关闭通过块编码的消息体:关闭块异常。
关键点在于http传输协议1.0与1.1的区别,1.1协议的内容是分块传输,response获得实体事懒加载,一块一块的获取,但是这个EntityUtils工具类的.toByteArray方法实现如下:
public static byte[] toByteArray(final HttpEntity entity) throws IOException {
Args.notNull(entity, "Entity");
final InputStream instream = entity.getContent();
if (instream == null) {
return null;
}