运行.js文件时nodejs上的错误403

时间:2017-11-05 21:31:07

标签: javascript

帮助请问,我正在尝试对我的api进行POST但是我收到了错误403,我读了很多主题,但仍未解决我的问题。 我正在使用comand:node myfilename.js在nodejs提示符下运行我的js文件来编译并收到此错误。下面是我的代码。我应该从我想要使用的网站上获取一个json文件。

var app = require('./config/customs-express')();
var unirest = require('unirest');
var crypto = require('crypto');
var qs     = require('querystring');

app.listen(3000, function() {
console.log('Server running door 3000');
});

var MB_TAPI_ID  = 'xxx';
var REQUEST_HOST = 'https://www.xxxx.net';
var REQUEST_PATH = '/tapi/v3';
var MB_TAPI_SECRET = 'xxx';

var tapi_nonce = Math.round(new Date().getTime() / 1000);

var tapi_method = 'list_orders';

var params = (tapi_method, tapi_nonce);

var params_string = ((REQUEST_PATH) + '?' + (params));

var tapi_mac = crypto.createHmac('sha512', MB_TAPI_SECRET)
               .update(tapi_method + ':' + MB_TAPI_SECRET + ':' +         
tapi_nonce)
               .digest('hex');

                unirest.post(REQUEST_HOST)
  .headers({'Content-type': 'application/x-www-form-urlencoded'})
  .headers({'Key': MB_TAPI_ID})
  .headers({'Sign': tapi_mac})
  .send(qs.stringify({'method': tapi_method, 'tonce': tapi_nonce}))
  .send(qs.stringify(params_string))
  .end(function (response) {
    console.log(response.body);
});
var app = require('./config/customs-express')();
var unirest = require('unirest');
var crypto = require('crypto');
var qs     = require('querystring');

app.listen(3000, function() {
console.log('Server running door 3000');
});

1 个答案:

答案 0 :(得分:1)

403表示禁止。 API告诉你"没有。"

如果您在访问该页面时有效,则可能表示他们正在使用Cookie。如果是这种情况,首先点击登录页面,获取cookie,然后发送带有cookie的登录请求。例如Superagent can do this