Node.js 节点请求引发:错误:无效URI“;www.urlworksinbrowser.com“;或options.uri是必需的参数

Node.js 节点请求引发:错误:无效URI“;www.urlworksinbrowser.com“;或options.uri是必需的参数,node.js,parsing,url,request,streams2,Node.js,Parsing,Url,Request,Streams2,我正在Ubuntu 12.04上使用节点v0.10.11。我无法找出我在请求模块中使用URL流时缺少了什么。 这个程序试图进入一个邮件列表站点,找到每个月的下载链接,然后下载每个月的页面 Mikael的自述文件说:“第一个参数可以是url或选项对象。唯一需要的选项是URI,其他所有选项都是可选的。 uri | | url-完全限定的uri或url.parse()中已解析的url对象” 如果我调用url.parse(www.targeturl.com),我会得到 Error: options.ur

我正在Ubuntu 12.04上使用节点v0.10.11。我无法找出我在请求模块中使用URL流时缺少了什么。 这个程序试图进入一个邮件列表站点,找到每个月的下载链接,然后下载每个月的页面

Mikael的自述文件说:“第一个参数可以是url或选项对象。唯一需要的选项是URI,其他所有选项都是可选的。 uri | | url-完全限定的uri或url.parse()中已解析的url对象”

如果我调用
url.parse(www.targeturl.com)
,我会得到

Error: options.uri is a required argument
如果我不使用
url.parse
,我会

Error: Invalid URI "www.freelists.org/archive/si-list/06-2013"
(此链接在我的浏览器中运行良好)

我已经把代码减少到42行了。欢迎有任何建议

var request = require('request'),
  url = require('url'),
  stream = require('stream'),
  cheerio = require('cheerio'), // a reduced jQuery style DOM library
  Transform = require('stream').Transform

var DomStripStream = function(target) {
  this.target = target;
  stream.Transform.call(this,{objectMode: true});
}

DomStripStream.prototype = Object.create(
  Transform.prototype, {constructor: {value: DomStripStream}} 
)

DomStripStream.prototype.write = function () {
  this._transform.apply(this, arguments);
};

DomStripStream.prototype.end = function () {
  this._transform.apply(this, arguments);
  this.emit("end");
};

DomStripStream.prototype._transform = function(chunk, encoding, callback) {
  chunk = chunk ? chunk.toString() : "";
  $ = cheerio.load(chunk);
  domLinks = $(this.target);
  $(domLinks).each(function (i, link) {
    currLink = 'www.freelists.org' + $(link).attr('href') 
//  currLink = url.parse(currLink)
    request(currLink, function (error, response, body) {
      console.log(error);
    })
  });
}

var fs = require("fs"),
  output = fs.createWriteStream("out.txt"),
  mainPage = new DomStripStream('td a')

request('http://www.freelists.org/archive/si-list').
pipe(mainPage).
pipe(output);

在url中添加http://或https://在url中提供http://或https://如何显示url的根?我知道路径,但如果我在开发或生产中,根目录会有所不同…因此它将是http://{root}/path…我不能只是传递它…检查
document.location
,它包含
protocol
字段。