我在我的Node中间件上使用 request-ntlm 包来连接远程Azure服务器。我的凭据是有效的,因为连接在Insomnia(REST客户端)中工作,但是从Node连接时我一直有同样的错误:
events.js:176
domain.enter();
^
TypeError: domain.enter is not a function
at Request.emit (events.js:176:12)
at Request.start (C:\Users\DJ5629\Documents\powerbi\node_modules\request\req
uest.js:750:10)
at Request.end (C:\Users\DJ5629\Documents\powerbi\node_modules\request\reque
st.js:1512:10)
at end (C:\Users\DJ5629\Documents\powerbi\node_modules\request\request.js:56
1:14)
at Immediate.<anonymous> (C:\Users\DJ5629\Documents\powerbi\node_modules\req
uest\request.js:575:7)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
以下是我用来发出NTLM请求的代码:
let opts = {
url: api+'Contracts/getAll',
headers: {
'accept': 'application/json'
},
workstation: 'WRKSTN',
domain: 'arandom.domain.com'
}
ntlm.get(opts, function(err,response){
if(!error){
res.status(response.statusCode).send(response);
} else {
res.status(response.statusCode);
}
})
仅当我在选项中提供域名时才会抛出此错误,但是当我删除域属性时,我无法得到任何答案。
系统信息: - Windows 7企业版 - 节点v6.11.4
感谢您的帮助
答案 0 :(得分:1)
这似乎是原始代码库中的一个错误,他们正在重新使用domain
库中的request
成员导致命名冲突。由于原作者似乎不再维护库,因此在request-nplm-continued下创建了一个固定包。