Download A File and wget

By  on  

Using the cURL package isn't the only way to download a file. You can also use the wget command to download any URL.

The Bash Script

wget -O

I'm guessing that wget and cURL aren't the only ways to download a file, but these are two easy ways to do so.

Also, look forward to more posts featuring wget -- it has a plethora of uses!

Track.js Error Reporting

Upcoming Events

Recent Features

  • Detect DOM Node Insertions with JavaScript and CSS Animations

    I work with an awesome cast of developers at Mozilla, and one of them in Daniel Buchner. Daniel's shared with me an awesome strategy for detecting when nodes have been injected into a parent node without using the deprecated DOM Events API.

  • 9 Mind-Blowing Canvas Demos

    The <canvas> element has been a revelation for the visual experts among our ranks.  Canvas provides the means for incredible and efficient animations with the added bonus of no Flash; these developers can flash their awesome JavaScript skills instead.  Here are nine unbelievable canvas demos that...

Incredible Demos

  • MooTools Equal Heights Plugin:  Equalizer

    Keeping equal heights between elements within the same container can be hugely important for the sake of a pretty page. Unfortunately sometimes keeping columns the same height can't be done with CSS -- you need a little help from your JavaScript friends. you're...

  • HTML5 Context Menus

    One of the hidden gems within the HTML5 spec is context menus. The HTML5 context menu spec allows developers to create custom context menus for given blocks within simple menu and menuitem elements. The menu information lives right within the page so...


  1. Ahh yes, wget and cURL are soon becoming my most used utilities. Very great programs.

    It is a little trickier but you can also download flash videos on sites that allow you to buffer, like YouTube. I havn’t yet been able to download flash videos that only allow streaming, like hulu.

    Using wget to Download Youtube Videos

  2. xpix

    Why would you use something like that to download a page?

  3. @xpix,
    You would use something like that to download a page for processing. Through a script.

    For example if you wanted to automatically get the latest ISO of a Linux distro you could set up a cron job to check for updates every single day and download the latest version through wget.

    You could use wget to download a stats page, run a regular expression and print out certain pieces.

    Another example, you can use it to interact with almost all of Google’s services.

    wget --post-file template_entry.xml --header "Authorization: GoogleLogin auth=ABCDEFG" --header "Content-Type: application/atom+xml" """);

    The above code would post a new album to your picasa web albums.

    The possibilities are limitless.

  4. Not Me

    So what does Cygwin have to do with any of these posts?

  5. @Anon: I use Cygwin on my Windows computer. Obviously, you don’t need Cygwin if you run Linux.

  6. Not Me

    Or the Mac OS, or any flavor of Unix, or ….

  7. xpix

    Thanks for the answer Mark.

    I am building quite simple application and I never felt the need to to do any of that.

  8. I’ve used both wget and curl for downloading jobs, never found any difference between the two.

  9. TeMc

    @Not Me:

    Not though that Mac OS X (atleast 10.5 Leopard, and maybe 10.6) does not support the wget command by default.

    You have to install
    * XCode Developer Tools (do not untick “UNIX” in the install) version 3.1.4 (for Leopard) or 3.2 (for Snow Leopard)
    * MacPorts 1.8.2 (as of writing) for Leopard and another version for Snow Leopard
    * and then install the wget-command into that.

    Tho the above will open a lot of possibilities, it’s not unfair to say that it’s a pain to do all that to get to 1 specific applicatoin :-(

    (for allya Googlers:
    – Get a free account at the Apple Developer Connection and download the xCode Developer Tools (if you’re using Leopard, you’ll notice the version on the ADC-site is by default 3.2 for Snow Leoaprd, read here ( ) to know how to get the old Leopard version
    – Then should get you going towards MacPorts and

    PS: DarwinPorts is the old name of MacPorts. Some tools still refer to DarwinPorts.


  10. Michael

    If a URL forces you to download a CSV file, how do we use PHP to download that onto a folder in the sever?

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!