URL中的“@”,用于node.js http.request

时间:2012-07-25 21:11:37

标签: http node.js url

我看到一个带有“@”符号的网址:

curl http://subdomain:token@localhost:9292/aaa/bbb

完美运作

但是我无法使用node.js http.request,可能是因为我不明白“@”正在做什么(并且在某种程度上无法在谷歌上找到明确的答案)。

有人在乎解释吗?

这是我当前的node.js代码

var http_options = {
  method : "GET"
, url : subdomain + ":" + token + "@" + Config.API.url
, path : "/aaa/bbb"
};

var req = http.request(http_options, function (response) {
  // ...
});

req.on('error', function (error) {
  console.log('error: ' + error);
});

产生:

error: ECONNREFUSED

1 个答案:

答案 0 :(得分:2)

@将用户/密码部分与位置部分分开。

您编写的curl行发送带有请求的HTTP Authenticate(BASIC身份验证)。

curl http://subdomain:token@localhost:9292/aaa/bbb

表示:获取localhost:9292/aaa/bbb并以用户身份执行:subdomain密码token

我不知道如何在node.js中做到这一点,但你会弄清楚,现在你知道它做了什么。