对于我需要在HTTP响应消息中删除来自youtube的特定内容(音频数据)的实验目的,我使用下面的代码。
现在我正在使用特定视频进行测试,我知道内容的大小。在没有此代码的情况下进行一些测试并捕获大小变量。
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;
}
然而,当我运行这个程序时,我看到日志被打印出来;但是,它并没有真正放弃内容。我看到客户端(浏览器Flash播放器)仍然可以下载内容,而这次的大小不同。该视频以视觉和音频播放。
在内容到达客户端之前删除内容的正确方法是什么?我错过了什么吗?
答案 0 :(得分:1)
尝试:
HttpHeaders.setContentLength(response, 0l);
response.setContent(null);
还要确保您的浏览器没有从本地缓存加载内容。
我不确定您是否可以使用LittleProxy拦截并更改响应......虽然this thread建议您可以使用HttpFilter执行此操作(请检查this测试代码基本结构)。否则,您将不得不深入了解Little Proxy source code以进一步定制。