Search code examples
javascriptnode.jswget

How can I replicate the functionality of a wget with node.js?


Is it possible to essentially run a wget from within a node.js app? I'd like to have a script that crawls a site, and downloads a specific file, but the href of the link that goes the file changes fairly often. So, I figured the easiest way to go about doing it would be to find the href of the link, then just perform a wget on it.

Thanks!


Solution

  • You can run an external command using child_processes:

    http://nodejs.org/docs/latest/api/child_process.html#child_process_child_process_exec_command_options_callback

    var util = require('util'),
        exec = require('child_process').exec,
        child,
        url = 'url to file';
    
    child = exec('wget ' + url,
      function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
          console.log('exec error: ' + error);
        }
    });