在Node JS的python中,auth的等价物是什么?

时间:2017-02-10 11:43:17

标签: javascript python node.js

我正在尝试访问api,我需要传递api密钥和api秘密,但我在Node JS中执行此操作。 在Python中,您可以这样做:

  requests.get('https://api.github.com/user', auth=('user', 'pass'));

我的问题是我如何在Node JS中实现这一目标?我是否在标题中包含密钥和密钥或将其包含在选项对象中?

这是代码:

var options = {
  host:'linktowebsite',
  path:'/data',
  headers: {
' Content-Type': 'application/x-www-form-urlencoded'
}
};

var req = http.request(options, function(res) {
  console.log(`STATUS: ${res.statusCode}`);
  console.log(`HEADERS: ${JSON.stringify(res.headers)}`);

  res.setEncoding('utf8');
  res.on('data', (chunk) => {
  console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
 console.log('No more data in response.');
  });
});

req.on('error', (e) => {
console.log(`problem with request: ${e.message}`);
});

2 个答案:

答案 0 :(得分:2)

在这里,

var options = {
  host:'linktowebsite',
  path:'/data',
  headers: {
  'Content-Type': 'application/x-www-form-urlencoded',
  'Authorization' : "Basic " + new Buffer(username + ":" + password).toString("base64")
}
};

答案 1 :(得分:1)

needle

const needle = require('needle');
let options = { username: 'user', password: 'pass' };
needle.get('https://api.github.com/user', options, (err, resp, body) => {
   // Whatever
})

request

const request = require('request');
request.get('https://api.github.com/user', (err, resp) => {
   // Whatever
}).auth('username', 'password', false);