English 中文(简体)
Can my django app act as a header-stripping proxy?
原标题:

Public Soundcloud track urls force a download upon browsing to them by utilizing a Content-Disposition header (I think.. ) which triggers a download for a known mime-type. Is there a way to proxy (create a passthrough for) these urls and strip this header from my request. I want to avoid serving the mp3 myself but I don t want to trigger a download.

最佳回答

Technically it is entirely possible that you could request the file from the server and connect that incoming data to an output stream response in your view, thereby allowing you to control the headers that your client s browser receives so that it does not ask them to save the file.

I m going to recommend against this though for a couple of reasons.

  1. You mentioned you didn t want to serve the files yourself. Technically you are serving the file in this case, you just aren t storing it.
  2. This can be fairly expensive resource wise. Especially network bandwidth. Every mp3 file you share with your user is going to be a sort of double-ding for you. You are going to be both downloading and uploading that entire file, every time. You could cache the mp3 file once it s been requested, but then you aren t just serving the file, you re storing it as well.
  3. The file source likely does not want you to do this and could send you a cease and desist letter if they catch wind of it. If they provide a mechanism for you to share their media on your site, they usually have Terms and Conditions that you cannot circumvent that.
问题回答

I don t think it s possible. It should already be entirely up to the browser. For example Opera asks user weather to open it or download.

You could embed them in your site using their Embeded Code.

EDIT: Nope you can t even use the link provided by the header since they ve worked around hotlinking. Each download is associated to the browser/session so you can t store the real url for the mp3 and link to that.





相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签