我看到一个带有“@”符号的网址:
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
答案 0 :(得分:2)
@将用户/密码部分与位置部分分开。
您编写的curl行发送带有请求的HTTP Authenticate(BASIC身份验证)。
curl http://subdomain:token@localhost:9292/aaa/bbb
表示:获取localhost:9292/aaa/bbb
并以用户身份执行:subdomain
密码token
我不知道如何在node.js中做到这一点,但你会弄清楚,现在你知道它做了什么。