2015-05-09 2 views
3

Я пытаюсь получить доступ к API с помощью «запроса» npm. Для этого API требуется заголовок «content-type» и базовая аутентификация. вот что я сделал до сих пор.npm запрос с заголовками и auth

var request = require('request'); 
var options = { 
    url: 'https://XXX/index.php?/api/V2/get_case/2', 
    headers: { 
    'content-type': 'application/json' 
    }, 

}; 
request.get(options, function(error, response, body){ 
console.log(body); 
} 

).auth("[email protected]","password",false); 

после выполнения этого использования узла, я получаю сообщение об ошибке, в котором указаны недопустимые имя пользователя и пароль. Я проверил те же API, аутентификацию и заголовок, используя CURL с приведенной ниже командой, и дал ожидаемый ответ HTTP.

локон -X ПОЛУЧИТЬ -H "Content-Type: применение/JSON" -u [email protected]: пароль "https://XXX/index.php?/api/V2/get_case/2"

Пожалуйста, предложите правильный путь к запросу коды с аутентификацией и заголовком.


Вот мой код обновления

var auth = new Buffer("[email protected]" + ':' + "password").toString('base64'); 
    var req = { 
        host: 'https://URL', 
        path: 'index.php?/api/v2/get_case/2', 
        method: 'GET', 
        headers: { 
         Authorization: 'Basic ' + auth, 
         'Content-Type': 'application/json' 
           } 
       }; 
    request(req,callback); 
    function callback(error, response, body) { 
     console.log(body); 
    } 

Я вижу 'неопределенный' в моей консоли. вы можете мне помочь?

ответ

9

Вот как это работает для меня

var auth = new Buffer(user + ':' + pass).toString('base64'); 
var req = { 
    host: 'https://XXX/index.php?/api/V2/get_case/2', 
    path: path, 
    method: 'GET', 
    headers: { 
     Authorization: 'Basic ' + auth, 
     'Content-Type': 'application/json' 
    } 
}; 
+0

Спасибо за ваш ответ. Вот что я пробовал с вашим предложением. –