0

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

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
4

1 回答 1

2

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

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

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

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

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

于 2012-07-25T21:17:50.927 回答