2011-02-16 24 views
2

Public Soundcloud跟蹤網址通過利用內容處置頭部(我認爲是..)觸發下載已知MIME類型時強制下載。有沒有辦法代理(創建一個傳遞)這些網址,並從我的請求中去掉這個頭文件。我想避免自己提供mp3,但我不想觸發下載。我的django應用程序可以充當標頭剝離代理嗎?

+0

這個問題http://stackoverflow.com/questions/2681338/django-serving-a-download-in-a-generic-view顯示頭我正在服務(或類似的東西)。 – 2011-02-16 09:11:33

回答

1

從技術上講,您完全可以從服務器請求文件並將該傳入數據連接到視圖中的輸出流響應,從而允許您控制客戶端瀏覽器收到的標題,以便它不會詢問他們保存文件。

我打算建議反對這個,但有幾個原因。

  1. 你提到你不想自己提供這些文件。從技術上講,在這種情況下你正在提供文件,你只是沒有存儲它。
  2. 這可能是相當昂貴的資源明智。特別是網絡帶寬。您與用戶分享的每個mp3文件都將成爲您的雙重叮sort。您將每次都下載並上傳整個文件。一旦被請求,你可以緩存mp3文件,但是你不僅僅是在提供文件,你還在存儲它。
  3. 文件源可能不希望你這樣做,如果他們知道它的風向,可能會向你發送一封停止和停止信函。如果他們提供了一種機制讓您在您的網站上分享他們的媒體,他們通常會有條款和條件,您無法繞過這些條款。
0

我不認爲這是可能的。它應該完全取決於瀏覽器。例如Opera要求用戶天氣打開或下載。

您可以使用他們的嵌入代碼將它們嵌入到您的網站中。

編輯: 你甚至不能使用頭提供的鏈接,因爲他們已經解決了盜鏈問題。每個下載都與瀏覽器/會話相關聯,因此您無法存儲mp3的真實網址並鏈接到該網址。

+0

感謝您確認,我將澄清我的問題,直接將我的評論指向的信息包含在 – 2011-02-17 23:28:12

相關問題