我正在尝试使用 request 通过 https 向站点发送 get 请求。然而,我位于代理后面,需要身份验证才能使用。当我尝试添加身份验证时,它无法连接到该站点。
我尝试在代理 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')
}
<小时/>
代理似乎正在返回身份验证响应,但是请求 dosent 似乎在那之后发送了任何内容,因此它实际上并未登录。我还需要添加一些配置吗?
最佳答案
原来我们使用的代理正在使用 NTLM 身份验证。因此,为了进行身份验证,我必须使用 NTLM 协议(protocol)而不是 Basic 协议(protocol)。我将考虑使用 Proxing-agent进行此身份验证。或者如robertklep所述有一些选项可以使用 NTLM 直接与服务器进行身份验证。
关于javascript - 代理认证和 Node 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33277972/