我试图访问URL <https://www.valueresearchonline.com/api/funds/trailing-returns-chart-new-vro/420>
。当我在Google Chrome上点击这个时,它工作得很好,我可以看到JSON响应。
我也试过通过Postman
运行它,它有时能工作,但在其他示例上不工作(不改变任何东西)。
我在NodeJ上运行了下面的代码。执行时,它抛出错误AxiosError: Request failed with status code 403
。
我想知道是否有一种方法可以做到这一点,或者提供商是否已经在他们的终端做出了安排来阻止这种访问。
代码:
const axios = require('axios');
let data = '';
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'http://www.valueresearchonline.com/api/funds/trailing-returns-chart-new-vro/420',
headers: {
'Cookie': '__cf_bm=J3u3clWuAwwUtmjRRm8Ojm41_S9yajNcV7tiRIdIyz8-1698608766-0-AbTn9Nl7Rbw8l52fTeYfvBJyCgt//3MZgKr+8pTKMGQCDU6EYvnblBi/Ubc47cbamrkFO8U5osEfif/bFnu7lv8='
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
字符串
1条答案
按热度按时间68de4m5k1#
你的代码并没有什么问题,但是HTTP 403是禁止的,这意味着你可能没有正确地向API进行身份验证。
如果你想查看浏览器发送的内容,使用开发者工具,进入网络选项卡,右键单击请求,然后单击复制为>获取或 curl 。如果你使用获取,你可以将该命令粘贴到js文件中并直接运行它,或者如果你使用 curl (并且你在Linux/mac上),你可以直接将它粘贴到你的终端。
x1c 0d1x的数据