O'Reilly

Download A File Using Cygwin and cURL

By on  

I'm starting to like using Cygwin more and more. Command line scripting allows me to get the information without all of the hassle. Why should I open Firefox, type in the address, deal with the ads, and click 5 links before I can get to what I want when I can use command line to download what I want? Here's how you can download a file using the cURL package from the command line.

The Bash Script

curl http://davidwalsh.name/ --O homepage.txt

The above example downloads my homepage and saves it into a file named homepage.txt. The file gets downloaded to the c:\cygwin\home\{user}\ folder. For fun, here's how to download Cygwin's setup file from Cygwin.

curl http://cygwin.com/setup.exe --O cygwin-setup.exe

Great stuff. What would you use this for?

Track.js Error Reporting

Recent Features

  • Create a CSS Flipping Animation

    CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

  • Write Simple, Elegant and Maintainable Media Queries with Sass

    I spent a few months experimenting with different approaches for writing simple, elegant and maintainable media queries with Sass. Each solution had something that I really liked, but I couldn't find one that covered everything I needed to do, so I ventured into creating my...

Incredible Demos

  • Create a Context Menu with Dojo and Dijit

    Context menus, used in the right type of web application, can be invaluable.  They provide shortcut methods to different functionality within the application and, with just a right click, they are readily available.  Dojo's Dijit frameworks provides an easy way to create stylish, flexible context...

  • spellcheck Attribute

    Many useful attributes have been provided to web developers recently:  download, placeholder, autofocus, and more.  One helpful older attribute is the spellcheck attribute which allows developers to  control an elements ability to be spell checked or subject to grammar checks.  Simple enough, right?...

Discussion

  1. I’ve used curl to download a ton of scanned documents from the Library of Congress. Each page was done as a separate TIF and after doing about 10 manually from the browser I learned from a friend about curl… Now if I had only been smart enough to handled getting both TIF and JPG at the same time…

  2. I typically use curl to download files onto my server rather than downloading to whatever machine I’m working on and then using FTP to copy it up. Particularly when I’m playing around with grabbing wordpress themes and things like that.

  3. You can use curl to create a super simple twitter client.

    For downloading files, I prefer wget.

    Full Disclosure: I use Linux – not Cygwin.

  4. If you play it right you can go check most everything you want with some fancy cURL-ing. Cygwin is the new iGoogle….

    @David: BTW… you get Ubuntu running? Let me know what you think.

    • Hasmik

      Hi. As I understand you use cygwin, am i right?…..So I ask you for help….I want to install cygwinn , but it isn’t complete so there are packages that cann’t be known in process of installing and postinstalling error occurs saying that these packeges ( for ex. brltty.sh exit cod1) aren’t known. what can I do. Please response if you can help. Thanks.

  5. @Eric: I’ll IM you about the Ubuntu. Trouble was afoot…

  6. Isn’t wget better :) ? Personally I prefer some unix platform, where these great tools are installed by default, bash is better than cmd etc. At the moment I’m using mac … Windows for web testing can run there through virtualization, that’s no problem …

  7. @Botanicus: Don’t ruin tomorrow’s post, Bot!

  8. Aloke

    AFAIK, both curl and wget use the same underlying libraries.

    Also, until wget added the new -s options, curl was the only way to retrieve https documents.

  9. Rad

    “Why should I open Firefox, type in the address, deal with the ads, and click 5 links before I can get to what I want when I can use command line to download what I want?”

    Because you don’t know the URL of every file that exists on the internet. Using these commands can be useful, but will never be able to replace a web browser for downloading files.

  10. How can use Cygwin to compile & build files ??

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

Recently on David Walsh Blog

  • Convert Video to mp3

    Let's all be honest for a moment:  we've all ... not paid for ... music.  Whether it was via a file sharing app like Kazaa or Napster, or it was downloading and seeding on bittorrent, or maybe even downloading a music video and ripping its audio,...

  • Sort git Branches by Date

    I'll be first person to admit I don't do as much git repository maintenance as I should.  I rarely delete branches which have been merged, so a git branch execution shows me a mile-long list of branches that likely aren't relevant.  The best way to find branches I've recently...

  • Best Tools and Resources for Web Professionals in 2015

    Looking for the right resources to help you satisfy the needs of your clients? On the lookout for the best tools to help you increase your revenue? Searching for the right software to help you improve your business? Well, then you’ve come to the right place....

  • JavaScript Polling

    Polling with JavaScript is one of those ugly but important functions within advanced front-end user experience and testing practices.  Sometimes there isn't the event you can hook into to signify that a given task is complete, so you need to get your hands dirty and simply poll for...

  • OSCON Portland:  Conference Giveaway and Discount!

    O'Reilly puts on the best web industry conferences in the world.  These conferences include Fluent Conference, Velocity Conference, and the upcoming OSCON in Portland, Oregon from July 20-24.  Open Source Convention (OSCON) is a conference that focuses specifically on open source developers and the tools and possibilities...