我正在制作一个 API,在其中调用 GET 到 musicBrainz API。我使用 Node.js 和 Express。
我的请求被拒绝,因为它们缺少用户代理(这是根据他们的规则: https: //musicbrainz.org/doc/XML_Web_Service/Rate_Limiting)
我的代码:
const https = require('https');
var callmbapi = function(mbid, callback, res) {
var artistdata = '';
const mburl = 'https://musicbrainz.org/ws/2/artist/';
https.get(mburl + mbid + '?inc=release-groups&fmt=json', (resp) => {
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
artistdata += chunk;
});
resp.on('end', function () {
console.log(artistdata);
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
};
Run Code Online (Sandbox Code Playgroud)
在我达到没有用户代理的请求限制之前,该请求有效。
我在某处读到我应该有随请求一起发送的选项,并且也尝试过:
const https = …Run Code Online (Sandbox Code Playgroud)