HTTP 응답 메시지에서 YouTube의 특정 콘텐츠 (오디오 데이터)를 삭제해야하는 실험 목적으로 아래 코드를 사용하고 있습니다.Netty HTTP 내용 크기를 0으로 설정
지금은 특정 비디오로 테스트 중이며 내용의 크기를 알고 있습니다. 이 코드없이 몇 가지 테스트를 실행하고 크기 변수를 캡처했습니다.
if (contType.equals("text/plain") && contLen > 200000 && contLen < 300000) {
outputFileName = projRoot + File.separator + folder + File.separator + "v_" + seqNum + "_" + String.valueOf(ranNum);
log.debug("This is AUDIO data received, and dropping it off");
response.setHeader("Content-Length", 0);
response.getContent().clear();
return true;
}
그러나이 프로그램을 실행할 때 로그가 인쇄되는 것을 볼 수 있습니다. 그러나 실제로 콘텐츠를 삭제하지는 않습니다. 클라이언트 (브라우저 플래시 플레이어)가 콘텐츠를 다운로드 할 수 있으며 이번에는 다른 크기로 볼 수 있습니다. 비디오는 비주얼과 오디오로 재생됩니다.
콘텐츠가 클라이언트에 도달하기 전에 콘텐츠를 삭제하는 올바른 방법은 무엇입니까? 나는 여기서 무엇인가 놓치고 있니?
"드롭 오프"란 무엇을 의미합니까? 데이터가 브라우저로 전송되는 것을 막으려는 것입니까? 이 코드 조각에 채널에 아무것도 쓰여져 있지 않다는 것을 알았습니다 ...'channel.write'에 대한 호출을 찾고 거기에 쓰여지는 것을 수정하십시오. –
수정하십시오. 코드의이 시점에서 데이터는 이미 HTTP 응답 메시지에 쓰거나 첨부되어 있습니다. 예, 데이터가 브라우저에 도달하지 못하게하려고합니다. channel.write를 제어 할 것을 제안하면 프록시에서 하위 수준에서해야한다는 것을 의미합니다 (NetPro를 기반으로 구현 된 LittleProxy를 사용하고 있습니다). HTTP/프록시 수준에서이를 처리 할 수있는 방법이 있습니까? – AnilJ
텍스트/일반으로 표시된 콘텐츠가 오디오일까요? 여기 * 진짜 * 문제는 무엇입니까? – EJP