2016-04-03 20 views
3

requestjsを使用してJSONベースのAPIを呼び出そうとしていますが、サーバーからエラーが発生しています。node.js requestjsがcurlに失敗する

request.get({ 
      url: 'https://api.myapi.com', 
      timeout: 120000, 
      headers: { 
       username: 'myuser', 
       password: 'mypassword' 
      } 
     }, function (err, result) { 
      ... 
     } 
) 

エラー:

java.lang.IndexOutOfBoundsException: Index: 0 
    java.util.Collections$EmptyList.get(Collections.java:4454) 
    com.itemmaster.api.rest.svc.authentication.OpenSSOUserAuthServiceImpl.authenticate(OpenSSOUserAuthServiceImpl.java:159) 
    com.itemmaster.api.rest.profiler.SecurityProfiler.profile(SecurityProfiler.java:58) 

いかなる問題なくカールリターンを使用して同じコールを実行中。

curl --header "username:myuser" --header "password:mypassword" 'https://api.myapi.com' 
+1

、エラーは何ですか? – MinusFour

+0

ヘッダーの下のユーザー名/パスワードを渡さないと、その認証情報を呼び出す必要があります – JordanHendrix

答えて

0

curlコマンドが指定した構文で動作している場合、次のコードはnode.jsで動作するはずです。

var request = require('request'); 
 

 
var headers = { 
 
    'username': 'myuser', 
 
    'password': 'mypassword' 
 
}; 
 

 
var options = { 
 
    url: 'https://api.myapi.com', 
 
    headers: headers 
 
}; 
 

 
function callback(error, response, body) { 
 
    if (!error && response.statusCode == 200) { 
 
     console.log(body); 
 
    } 
 
} 
 

 
request(options, callback);

関連する問題