sintron has asked for the wisdom of the Perl Monks concerning the following question:

Hello, Wondering if anyone has any ideas on how to best implement a PERL based download manager. It has to be able to download (in parallel ideally) files that are gigabytes in size, resume if any connections are broken and as fast as possible. Something like the cnet download manager by kontiki. FTP with multiple connections might work but it does not allow for resuming broken downloads. I believe the way to go would be to work with packets themselves but I have no idea were to start with this. Please let me know if anyone has any links or book titles to working with packets in the context of a download manager or if there is a better way to create a download manager. Thanks Sin Tron

Replies are listed 'Best First'.
Re: PERL Based Download Manager
by PodMaster (Abbot) on Sep 22, 2003 at 00:39 UTC
    Yes, I do. In fact, I started writing my own download manager akin to GetRight or DLExpert (cause I was very frustrated with both). I have all the parts neccessary, I just have to finish writing it ;) It's based on wxPerl and curl. Basically I just manage a number of curl processes (and curl supports resuming ... everything I could possibly want), here's what it looks like for now (future versions may have picture buttons, but that's pretty much it)

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      It looks very nice. It looks like I will probably compare curl and wget to see which one makes more sense. Thanks.
Re: PERL Based Download Manager
by perrin (Chancellor) on Sep 22, 2003 at 00:57 UTC
    FTP does allow for resuming downloads. So does HTTP. But if I needed to do this I would just fork some wget processes.
Re: PERL Based Download Manager
by BUU (Prior) on Sep 21, 2003 at 23:15 UTC
    A) Perl. No such thing as PERL. (No damn it, inline::PERL does not exist. Lies)

    B) rsync..