帮助请问,我正在尝试对我的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');
});
答案 0 :(得分:1)
403表示禁止。 API告诉你"没有。"
如果您在访问该页面时有效,则可能表示他们正在使用Cookie。如果是这种情况,首先点击登录页面,获取cookie,然后发送带有cookie的登录请求。例如Superagent can do this。