Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


This was what I tried...

wget -A rar [-r [-l 1]] <mediafireurl>

That is to say, I tried with and without the recursive option. It ends up downloading an HTML page of a few KB in size, while what I want is in the range 90-100 MB and RAR.

What happens with MediaFire for those who may not be aware, is that it first says

Processing Download Request...

This text after a second or so turns into the download link and reads

Click here to start download..

I would appreciate it if someone would tell me how to write a proper script for this situation.

share|improve this question

migrated from Jul 19 '11 at 11:58

This question came from our site for professional and enthusiast programmers.

This is probably not allowed according to the Mediafire TOS and they will do their best to make it as hard as possible for you to do. – Joachim Sauer Jul 19 '11 at 11:38
seems to be difficult with captcha, javascript timer and all the other things in place... they also have mechanisms in place to block downloads from much more sophisticated download managers.. – tumchaaditya Jun 12 '12 at 2:39
you can try jdownloader. it automates the download process from such file sharing sites(mediafire, filesonic etc.) – tumchaaditya Jun 12 '12 at 2:40

From Mediafires Terms of Service:

General Use of the Service, Permissions and Restrictions

You agree while using MediaFire Services, that you may not:

Alter or modify any part of the Services;

Use the Services for any illegal purpose;

Use any robot, spider, offline readers, site search and/or retrieval application, or other device to retrieve or index any portion of the Services, with the exception of public search engines

So essentially by using anything other than the tools that Mediafire provide via their website you are in fact breaking their terms of service.

share|improve this answer

I've never tried myself, but there are a few things you could try to "cheat" the website.

For example --referer will let you specify a referer URL - maybe the site expects you to come from a specific "home" page or something: with this option wget will pretend it's coming from there.

Also, --user-agent will make wget "pretend" it's a different agent - namely, a browser like Firefox.

--header will let you forge the whole HTTP request to mimic that of a browser.

If none of those work, there are also more options, dealing with cookies and other advanced settings: man wget for the whole list.

I hope this helps a bit: if you succeed, please post how you did it!

share|improve this answer

Sites like this use multiple methods to prevent simple/automated downloading. A few examples of such techniques include:

  • Using sessions
  • Generating unique download links/keys
  • Using CAPTCHAS (can be defeated, but certainly not by wget)
  • Timers for non-premium users to delay the download
  • IFrames containing the download link
  • Providing the link from another site/domain
  • Checking the web client (is it a web browser or something else)
  • Checking referer to prevent hotlinking (did the download request come from the site or elsewhere)
  • Checking the headers to verify it conforms to their expectations
  • Using PUT instead of GET to use "hidden" form fields
  • Setting and checking cookies
  • Using JavaScript to redirect or generate the download link
  • Using Flash to test the user or generate the download link

Basically, downloading files from sites like this with tools like cURL or wget would at best, be difficult, and certainly not practical.

share|improve this answer

Actually it can be done. What you have to do is:

  • Go to the link like you're going to download to your computer
  • When the "download" button comes up, "right-click" and copy the link and add that to your wget.

It'll be something like

share|improve this answer
That's right! it works this way – Ahmed Essam Apr 18 at 22:09

You must log in to answer this question.