현재 HttpComponents가 HttpRequests를 보내고 응답을 가져 오려고합니다. 대부분의 URL에서 문제없이 작동하지만 phpBB Forum의 URL을 얻으려고하면 (예 : http://www.forum.animenokami.com) 클라이언트의 시간이 더 오래 걸리며 responseEntity에 한 번 이상 구절이 포함되어 깨진 html 파일이 생성됩니다.Java : HttpComponents가 쓰레기를 가져옵니다. 특정 URL의 입력 스트림에서 응답
예를 들어 메타 태그는 6 번 포함됩니다. 다른 많은 URL이 작동하기 때문에 내가 잘못하고있는 것을 파악할 수 없습니다. 페이지가 알려진 브라우저에서 올바르게 작동하므로 문제가되지 않습니다.
다음은 내가 보내고받는 코드입니다.
URI uri1 = new URI("http://www.forum.animenokami.com");
HttpGet get = new HttpGet(uri1);
get.setHeader(new BasicHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/6.0"));
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(get);
HttpEntity ent = response.getEntity();
InputStream is = ent.getContent();
BufferedInputStream bis = new BufferedInputStream(is);
byte[] tmp = new byte[2048];
int l;
String ret = "";
while ((l = bis.read(tmp)) != -1){
ret += new String(tmp);
}
도와 주시면 감사하겠습니다. 더 이상 필요한 정보가 있으면 가능한 한 빨리 제공하려고 노력할 것입니다.
감사합니다. 그것은 잘 작동하지만 내가 이해하지 못하는 이유는이 URL에서만 여러 번 같은 텍스트를 볼 수 있습니다. 다른 URL 문제가 없습니다. 2048 바이트 이하가 남아 있기 때문에 전체 버퍼를 매번 변환하는 것은 마지막 바이트에만 문제가되어야합니다. 맞습니까? 버퍼의 내용도 각 반복마다 바뀌므로 출력 반복이 발생하지 않아야합니다. – TroubledMan