我的django应用程序可以作为标题剥离代理吗?

时间:2011-02-16 09:08:33

标签: python django proxy mp3 soundcloud

公共Soundcloud跟踪网址通过使用 Content-Disposition 标头(我认为..)触发下载已知的mime类型,在浏览时强制下载。有没有办法代理(创建一个passthrough)这些网址,并从我的请求中删除此标头。我想避免自己提供mp3,但我不想触发下载。

2 个答案:

答案 0 :(得分:1)

从技术上讲,您完全有可能从服务器请求文件并将传入的数据连接到视图中的输出流响应,从而允许您控制客户端浏览器接收的标头,以便它不会询问它们保存文件。

我会建议不要这样做,原因有两个。

  1. 你提到你不想自己提供这些文件。从技术上讲,在这种情况下,你正在提供文件,你只是没有存储它。
  2. 这可能是相当昂贵的资源。特别是网络带宽。您与用户共享的每个mp3文件都将成为您的双重文件。您每次都要下载和上传整个文件。你可以在请求后缓存mp3文件,但是你不只是提供文件,你也存储它。
  3. 文件来源可能不希望您这样做,并且如果他们抓住了它,可以发送停止和终止信。如果他们提供了一种机制,让您在自己的网站上分享他们的媒体,他们通常会有条款和条件,你不能绕过它。

答案 1 :(得分:0)

我不认为这是可能的。它应该完全取决于浏览器。例如,Opera要求用户天气打开或下载。

您可以使用其嵌入代码将它们嵌入您的网站。

编辑: 不,你甚至不能使用标题提供的链接,因为他们已经解决了hotlinking问题。每次下载都与浏览器/会话相关联,因此您无法存储mp3的真实网址并链接到该网址。