【发布时间】:2021-04-01 13:01:24
【问题描述】:
我使用这个程序从https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY 获取 json 数据,但是从今天早上开始它就无法正常工作,因为它返回
【问题讨论】:
-
感谢@RameshKR 提供此参考。我很感谢你。
标签: node.js stockquotes
我使用这个程序从https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY 获取 json 数据,但是从今天早上开始它就无法正常工作,因为它返回
【问题讨论】:
标签: node.js stockquotes
我用 node js 尝试了同样的事情 请使用节点 js ide link here for online ide 请检查我的代码
const axios = require('axios');
let cookie;
let url_oc = "https://www.nseindia.com/option-chain"
let url = "https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY"
let headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'accept-language': 'en,gu;q=0.9,hi;q=0.8', 'accept-encoding': 'gzip, deflate, br'
}
const instance = axios.create({
baseURL: url_oc,
headers: headers,
cookie: cookie ? cookie : ""
});
const getCookies = async () => {
try {
const response = await instance.get(url_oc);
cookie = response.headers['set-cookie'].join();
} catch (error) {
if (error.response.status === 403) {
console.log("getCookies =========> error.status === 403");
await getCookies()
} else {
console.log("getCookies =========> error");
}
}
}
const getAPIData = async () => {
try {
if (cookie) {
const response = await instance.get(url);
console.log(response.data.records.timestamp);
}
} catch (error) {
if (error.response && error.response.status === 401) {
console.log("getAPIData =========> error.status === 401");
if (!cookie) {
console.log("getAPIData =========> cookie not found");
await getCookies()
}
await getAPIData()
} else {
console.log("getAPIData =========> error");
}
}
}
(async () => {
setInterval(async () => {
await getCookies()
}, 5000);
setInterval(async () => {
await getAPIData()
}, 3000);
})()
【讨论】: