代理认证和节点请求

Proxy Authentication and node request

我正在尝试使用请求通过 https 向网站发送获取请求。但是,我在代理后面,需要身份验证才能使用。当我尝试添加身份验证时,它无法连接到该站点。

我已经尝试在代理 url 中添加身份验证,例如:

var proxyUrl = "http://" + 'user' + ":" + 'password' + "@" + 'url:8080';
var request = require('request').defaults({proxy: proxyUrl});

我也尝试将授权添加到 header 但是这也有同样的问题

headers: {
            'Proxy-Authorization': new Buffer('user:password').toString('base64')
}

似乎代理返回了身份验证响应,但是请求发送似乎在那之后发送了任何东西,所以它实际上并没有登录。我需要添加更多配置吗?

原来我们使用的代理使用的是 NTLM 身份验证。因此,为了进行身份验证,我必须使用 NTLM 协议而不是 Basic。我将研究使用 Proxing-agent to do this authentication. Or as mentioned by robertklep 有一些选项可以使用 NTLM 直接向服务器进行身份验证。

设法使用 NTLM.js from the node-proxying-agent and request using the following description of the protocol 实现了这一点。