3

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

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

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

我也尝试将授权添加到标题中,但这也有同样的问题

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

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

4

1 回答 1

0

原来我们使用的代理正在使用 NTLM 身份验证。因此,为了进行身份验证,我必须使用 NTLM 协议而不是 Basic。我将研究使用Proxing-agent进行此身份验证。或者正如robertklep所提到的,有一些选项可以使用 NTLM 直接与服务器进行身份验证。

使用来自 node-proxying-agent 的NTLM.js管理实现这一点,并使用以下协议描述请求

于 2015-12-14T13:11:56.083 回答