wget-improved
wget in nodejs, forked from wuchengwei/node-wget to add improvements and help maintain the project
Last updated 7 years ago by bearjaws .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install wget-improved 
SYNC missed versions from official npm registry.

wget-improved

CircleCI

wget-improved simplifies retrieving files from any URL

Improvements over wuchengwei/node-wget

  • Handles 3xx redirects (including infinite redirect loops)
  • Passes URL parameters
  • Better error reporting
  • Does not write using append (uses w+ identical to wget)
  • Handles gzip compression, allow you to automatically gunzip the stream

Install

npm install wget-improved --save

download(src, output, options)

const wget = require('wget-improved');
const src = 'http://nodejs.org/images/logo.svg';
const output = '/tmp/logo.svg';
const options = {
    // see options below
};
let download = wget.download(src, output, options);
download.on('error', function(err) {
    console.log(err);
});
download.on('start', function(fileSize) {
    console.log(fileSize);
});
download.on('end', function(output) {
    console.log(output);
});
download.on('progress', function(progress) {
    typeof progress === 'number'
    // code to show progress bar
});

request(options, callback)

const wget = require('wget');
const options = {
    protocol: 'https',
    host: 'raw.github.com',
    path: '/Fyrd/caniuse/master/data.json',
    proxy: 'http://host:port',
    method: 'GET'
};
let req = wget.request(options, function(res) {
    let content = '';
    if (res.statusCode === 200) {
        res.on('error', function(err) {
            console.log(err);
        });
        res.on('data', function(chunk) {
            content += chunk;
        });
        res.on('end', function() {
            console.log(content);
        });
    } else {
        console.log('Server respond ' + res.statusCode);
    }
});

req.end();
req.on('error', function(err) {
    console.log(err);
});

options


options = {}
    // Set to true to have any gzip stream automatically decompressed before saving
    options.gunzip = false;
    options.proxy = {};
        options.proxy.protocol = 'http';
        options.proxy.host = 'someproxy.org';
        options.proxy.port = 1337;
        options.proxy.proxyAuth = '{basic auth}';
        options.proxy.headers = {'User-Agent': 'Node'};

CLI

# If installed globally
nwget https://raw.github.com/Fyrd/caniuse/master/data.json -O /tmp/data.json

# If not installed globally
./node_modules/.bin/nwget https://raw.github.com/Fyrd/caniuse/master/data.json -O /tmp/data.json

Changes from 2.0.0 to 3.0.0

Progress is now returned as a Number instead of a String

On start filesize can return null when the remote server does not provide content-length

Exception for not specifying protocol is now: Your URL must use either HTTP or HTTPS.

Supports handling redirects that return a relative URL.

You can now get events for the total number of bytes downloaded download.on('bytes', function(bytes) {}...)

Request headers can be specified by passing an object to options.headers.

Unit tests have been added for most download functionality and error cases. Tests are a requirement for all PRs going forward!

Current Tags

  • 3.4.0                                ...           latest (2 years ago)

20 Versions

  • 3.4.0                                ...           2 years ago
  • 3.3.1                                ...           3 years ago
  • 3.3.0                                ...           3 years ago
  • 3.2.1                                ...           4 years ago
  • 3.2.0                                ...           5 years ago
  • 3.1.0                                ...           5 years ago
  • 3.0.2                                ...           6 years ago
  • 3.0.1                                ...           7 years ago
  • 3.0.0                                ...           7 years ago
  • 1.5.0                                ...           8 years ago
  • 1.4.0                                ...           8 years ago
  • 1.3.0                                ...           9 years ago
  • 1.2.1                                ...           9 years ago
  • 1.1.1                                ...           9 years ago
  • 1.0.1                                ...           10 years ago
  • 1.0.0                                ...           10 years ago
  • 0.9.3                                ...           10 years ago
  • 0.9.2                                ...           10 years ago
  • 0.9.1                                ...           10 years ago
  • 0.9.0                                ...           10 years ago
Maintainers (1)
Downloads
Total 1
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (4)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE