有一个流在服务器上偶尔会失败。有人怀疑,我请求的网站已经改变了一些东西,因为他们一周前有一个大的更新,并已宣布他们无意中引入了几个错误。
基本上,响应的主体应该是json,但是日志显示,在某些情况下,下面的内容不能解析为json。有没有办法确保记录整个流?例如,我想将其 Package 在try/catch子句中,并记录流以防失败。但我不知道在这种情况下连接是否会关闭。
JsonNode result = mapper.readTree(new BufferedReader(new InputStreamReader(stream)));
一个解决方案
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("x-user", apiKey);
conn.setRequestProperty("x-pwd", apiPassword);
boolean ok = conn.getResponseCode() == HttpURLConnection.HTTP_OK;
InputStream stream = getInputStreamFromConnection(conn, ok);
try {
JsonNode result = mapper.readTree(new BufferedReader(new InputStreamReader(stream)));
}
catch (Exception e) {
log.info("Cannot parse response");
log.info(new BufferedReader(new InputStreamReader(stream));
}
我能确定溪流没有关闭吗?
暂无答案!
目前还没有任何答案,快来回答吧!