我试图在访问ASP页面后获得HTML响应。它具有NTLM身份验证,我尝试使用npm-ntlm客户端进行解析。响应是从REST客户端(如启用了NTLM的邮递员)(身份验证标头)返回的。但是,当尝试从JS中的npm-ntlm请求相同的URL时,我收到错误:
SELF_SIGNED_CERT_IN_CHAIN
示例代码:
var options = {
method: 'GET',
username: "user",
password: "password@#",
uri: 'https://URL.com',
rejectUnauthorized: false,
agent: false
};
ntlm_req.request(options).then((res)=>{
console.log("success");
}, (err)=>{
console.log("err");
});
注意:我已经尝试了其他答案中列出的几乎所有方法来获取响应,但无法获得响应。
答案 0 :(得分:1)
您应该尝试告诉request调用的ntlm实例来忽略ssl问题。
尝试一下:
var options = {
method: 'GET',
username: "user",
password: "password@#",
uri: 'https://URL.com',
request: {
rejectUnauthorized: false
// or this:
// strictSSL : false
},
agent: false
};
ntlm_req.request(options).then((res)=>{
console.log("success");
}, (err)=>{
console.log("err");
});
在我看来,您几乎是对的:)
您只忘记正确传递请求的实例选项;)
答案 1 :(得分:1)
它通过以下方式提供参数,从而与httpntlm一起使用:
httpntlm.get({
url: url, // complete URL to be fetched
username: 'user',
password: 'pswd',
workstation: 'MachineSerialNo', // host name
domain: ''
}