使用node.js的NTLM身份validation
我需要使用node.js与使用NTLM代理身份validation的服务器进行通信。
我已经使用了2个模块:
- node-curl https://github.com/jiangmiao/node-curl
- 请求,强烈build议htps://github.com/mikeal/request
我发现ntlm的请求模块没有任何文档,尽pipenode-curl支持curl easy选项,但是我没有find关于如何为CURLOPT_HTTPAUTH指定CURLAUTH_NTLM的文档。
我想知道如何照顾NTLM代理身份validation。 我很想继续使用请求模块。
写了一个Node.js库来执行HTTP NTLM握手: https : //github.com/SamDecrock/node-http-ntlm
它从Python-ntlm库移植。
在Node.js代码中直接使用NTLM是否很重要?
相反,您可以尝试安装一些中间NTLM代理,这将使您有机会在node.js中使用简单的HTTP代理。 至less有两个解决scheme:
- Cntlm – 用C写成
- Ntlmaps – 用Python编写
如果您使用Express,则可以使用express-ntlm,这使得NTLM总体上不那么令人沮丧
以下是Node.js中NTLM服务器端的部分实现。 这可能有助于开发客户端请求: https : //gist.github.com/3049352
这里有一些代码看起来会产生types1消息,并接收types2响应。 types3消息尚未实现,并且是最后一步:github.com/kevinswiber/node-ntlm-client
这里有一些关于NTLM协议的文档可以帮助完成它: http : //www.innovation.ch/personal/ronald/ntlm.html
这是一个开始。
不幸的是,我只做了或多或less的简单版本的NTLM。
这是一个更完整的: https : //gist.github.com/Piot/3063016