【发布时间】:2021-05-09 17:38:39
【问题描述】:
我正在尝试使用 NodeJS 中的 AXIOS 模块访问免费的 API 数据。下面是相同的代码示例,它给出了HTTP 401 status code - unauthorized 错误。
代码示例:
const axios = require('axios');
const axiosCookieJarSupport = require('axios-cookiejar-support').default;
axiosCookieJarSupport(axios);
const URL = `https://www.nseindia.com/api/option-chain-indices?symbol=BANKNIFTY`;
const getData = async (url) => {
console.log(`Get Data : `);
try {
const response = await axios.get(url, {withCredentials: true});
console.log(response);
} catch (error) {
console.error(error);
}
}
getData(URL);
我确实尝试使用tough-cookie npm 模块,但每次都以同样的错误告终。
const axios = require('axios');
const axiosCookieJarSupport = require('axios-cookiejar-support').default;
axiosCookieJarSupport(axios);
const tough = require('tough-cookie');
const cookieJar = new tough.CookieJar();
const URL = `https://www.nseindia.com/api/option-chain-indices?symbol=BANKNIFTY`;
const getData = async (url) => {
console.log(`Get Data : `);
try {
const response = await axios.get(url, {withCredentials: true});
console.log(response);
} catch (error) {
console.error(error);
}
}
getData(URL);
const fetchData = async (url) => {
const response = await axios.get(url, {
headers: {
'accept': '*/*',
'User-Agent': 'Mozilla/5.0'
},
jar: cookieJar,
withCredentials: true // If true, send cookie stored in jar
});
console.log(response);
}
fetchData(URL);
任何帮助将不胜感激,在此先感谢。
【问题讨论】:
-
此 API 是否询问任何授权令牌?
-
您是否尝试过通过 Fiddler 或类似应用直接访问 API?
-
没有@OrAssayag,但是在尝试使用 Python Request 库时它工作正常,但使用 Node Axios 库时出现 401 错误。
-
@AbuSufian 是的,它需要 Auth Token
-
您可以尝试使用基本的“获取”逻辑(无 axios)来进行检查吗?
标签: node.js ecmascript-6 axios axios-cookiejar-support