Warn: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead
1566 단어 JAVA
이 유 는 돌아 오 는 HTTP 헤드 에 contentLength 가 지정 되 어 있 지 않 거나 contentLength 가 상한 선 이상 (기본 값 은 1M) 이기 때 문 입 니 다.반환 결과 의 크기 가 프로그램 에 현저 한 영향 을 미 치지 않 는 지 확인 할 수 있다 면 이 WARN 은 무시 할 수 있 습 니 다. 로그 설정 에서 HttpClient 의 로그 단 계 를 ERROR 로 바 꾸 어 보고 하지 못 하 게 할 수 있 습 니 다.
솔 루 션: getResponseBodyAsStream () 을 getResponseBodyAsString () 대신 사용 할 수 있 습 니 다.
원본 코드:
String resStr = httpPost.getResponseBodyAsString();
if(StringUtil.isNotEmpty(resStr)){
resStr = new String(resStr.getBytes("UTF-8"));
}
다음으로 변경:
InputStream streamStr = httpPost.getResponseBodyAsStream();
BufferedReader br = new BufferedReader(new InputStreamReader(streamStr,"UTF-8"));
StringBuffer stringBuffer = new StringBuffer();
String result = "";
while((result = br.readLine())!=null){
stringBuffer.append(result);
}
String str = stringBuffer.toString();
이렇게 하면 경 고 를 책임 지지 않 을 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.