GET Request работает с REST Client браузера, но не с JS - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь получить ответ HTML после нажатия на страницу ASP. У него есть NTLM-аутентификация, которую я пытался решить с помощью клиента npm-ntlm. Ответ возвращается от клиента REST, такого как почтальон с включенным NTLM (заголовки аутентификации). Однако при попытке запросить тот же URL-адрес у npm-ntlm в JS я получаю сообщение об ошибке:

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");
});

Примечание. Я попробовал почти все методы, перечисленные в других ответах, чтобы получить ответ, но не смог его получить.

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Он работал с httpntlm , предоставляя параметры следующим образом:

  httpntlm.get({
    url: url, // complete URL to be fetched
    username: 'user',
    password: 'pswd',
    workstation: 'MachineSerialNo', // host name
    domain: '' 
}
0 голосов
/ 18 января 2019

Вы должны попытаться сообщить запрос экземпляр вашего 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");
});

Мне кажется, ты почти все понял :)

Вы только забыли правильно передать параметры экземпляра запроса;)

...