I'm working out of a hotel with somewhat poor internet. I need to download a large 5 gig file. It looks like the estimate is about a day. I'm sure this will probably have 2 issues, the connection itself being interrupted at some point AND even if the download completes, it may be corrupted due to the nature of http.

Aside from discussion of how and why this is, is there an actual solution in my given situation? I think my biggest problem is corruption, is there an http client which can prevent that altogether?

Details of my machine: Acer Aspire "Timeline" M5 Model number: -581TG (I bought it from the official Acer store in Thailand, Pantip Plaza). It has the default network drivers on it:

  • Broadcome 802.11n Network Adapater (version, 3/19/2012)
  • Broadcom NetLink (TM) Gigabit Ethernet
  • Microsoft Virtual WiFi Miniport Adapter (version 6.1.17600.16385, 6/21/2006)
  • sound more like a driver problem. had also sometimes corrupted downloads and interrupting wifi connections using old drivers from atheros and broadcom. try a driver update.
    – metadings
    Jan 8 '13 at 16:12
  • The wifi issue is surely the hotel/area I am in. It's just in an area that is not as modernized (south east Asia).
    – Zombies
    Jan 8 '13 at 16:14
  • 2
    @Zombies - There are lots of programs that were designed to resume downloads of tis nature. I would use one of those. Beyond that if the connection is not stable there isn't much you can do.
    – Ramhound
    Jan 8 '13 at 16:28
  • What operational system are you using? Jan 11 '13 at 15:15
  • Windows 7. The question can be cross OS though, answers for any OS are acceptable.
    – Zombies
    Jan 12 '13 at 2:35

The CLI tools cURL and Wget both have resume which will pick up where they left off, assuming the HTTP server itself supports HTTP range requests.

curl -C - http://...
wget --continue http://...

I have found both to be reliable. And with the bandwidth limiting feature it means you can set long-running downloads to use less than your average bandwidth so the connection is still usable for other purposes.

There's no HTTP solution for corrupt downloads, HTTPS is more likely to notice certain problems though. The only thing you can do is verify checksums or signatures at the end of the download.

The simplest protocol I'm aware of that could solve your problem is BitTorrent, with rsync a close second.


I can't offer a solution for the corruption problem, but to download a large file and be able to gracefully handle dropped connections, I use wget. It's got a -c switch that will let you resume downloads. I agree with metadings that file corruption may be caused by a bad driver. TCP has a checksum built into it, so your hardware should be detecting bad checksums and re-requesting those packets.


For large file streaming I wrote for myself a command line tool that can also handle broken download connections. I did not released it yet, but you can use it. Written in c++ win32 API only.

Supports FTP/HTTP/HTTPS Large files, specifically for pre/downloading videos (mkv,avi,mp4,...) Partial read/wirte from and into files Random access download (allow you to resume a download at certain position)

dload v1.0 (http/ftp downloader)

Update: New version 1.5
dload v1.5


To manage downloads and resume interrupted downloads:

To test the integrity of the download:


Use a method that reduces the chances of the file being corrupted, and is able to deal with connection interruptions. I know two:

If possible, if I were you, I'd try to plug the computer with an Ethernet cable. Always the most stable option against wi-fi.

Now, nothing is perfect, and it's always possible to have issues. But I think this is your best bet. Also, if you're not sure the download was successful, you can check the integrity of your file with hash thingies. Not sure how they're called anymore. Anyway, those checksum things.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.