node curl wrapper with fully implemented https://npmjs.org/package/node-curl
Find a file
2013-02-19 17:31:59 +08:00
examples Rename effective_options to effectiveOptions. 2012-12-01 21:39:13 +08:00
lib Add comments. 2013-02-19 17:31:59 +08:00
src Transfer can be interrupted when streaming. #11 2013-02-19 01:04:42 +08:00
.gitignore add some comments 2012-02-14 21:19:06 +08:00
.npmignore ignore *.tgz. 2012-11-29 16:36:18 +08:00
.travis.yml Remove travis node v0.7, add v0.8 v0.9 2012-12-24 21:13:49 +08:00
binding.gyp Add binding.gyp for node v0.9 2013-01-05 21:22:11 +08:00
index.js first commit 2012-02-14 14:56:03 +08:00
index.toffee Update Curl file structure. 2013-02-19 17:30:16 +08:00
LICENSE-MIT dynamic generate curl include file 2012-03-08 00:15:51 +08:00
package.json bump version to v0.1.8 2013-01-06 03:40:31 +08:00
README.md update README. 2012-11-29 17:03:23 +08:00
wscript use -O1 instead of -O2 2013-01-05 21:22:22 +08:00

node-curl Build Status

node cURL wrapper, support all options and infos.

Quick Start

  • quick start

      curl = require('node-curl');
      curl('www.google.com', function(err) {
        console.info(this.status);
        console.info('-----');
        console.info(this.body);
        console.info('-----');
        console.info(this.info('SIZE_DOWNLOAD'));
      });
    
  • with options

      curl = require('node-curl')
      curl('www.google.com', {VERBOSE: 1, RAW: 1}, function(err) {
        console.info(this);
      });
    
  • run the example/test.js

      node examples/test.js
    

Usage

  • curl

      curl(url, [options = {}], callback)
      callback includes 1 parameters (error)
      result is stored in curl
    
  • Retrieve Data from curl

      members:
        status           - Http Response code
        body             - Http body
    
        url              - the url set by curl(...)
        options          - the options set by curl(...)
        defaultOptions   - the defaultOptions
        effectiveOptions - the options curl used
    
      methods:
        info(name) - Get information of result, see 'info' section
    
  • Curl Control

      members
          debug (default: false)
              - logging node-curl debug info
    
      methods:
          void reset()
              - reset curl and set options to default options
    
          void setDefaultOptions(options, reset = true)
              - set default options
    
          curl create(defaultOptions)
              - create a new curl with default options
    

Options

  • Any cURL Easy Options

      eg: CURLOPT_VERBOSE will be VERBOSE, CURLOPT_HEADER will be HEADER
    
      Full list at http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
    
  • node-curl Extra Options

      RAW   - Returns Buffer instead of String in result.body
      DEBUG - Replace curl.debug
    
  • About slist parameters

      node-curl support slist which map to Javascript Array
    
      eg:
          HTTP_HEADER: ['FOO', 'BAR']
          HTTP_HEADER: 'FOO'
    
          any non-array parameter will convert to [ parameter.toString() ]
    

Infos

  • Any cURL Info options

      eg: CURLINFO_EFFECTIVE_URL will be EFFETCTIVE_URL
    
      full list at http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
    
  • About slist

        slist will be returns in Array
        eg: CURLINFO_COOKIELIST