【问题标题】:Node JS Requests get returns response code 401 for nse india website节点 JS 请求获取 nse 印度网站的返回响应代码 401
【发布时间】:2021-04-01 13:01:24
【问题描述】:

我使用这个程序从https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY 获取 json 数据,但是从今天早上开始它就无法正常工作,因为它返回 。不过,该链接在 chrome 上加载良好。有什么方法可以在不使用 axios 的情况下解决这个问题?

【问题讨论】:

标签: node.js stockquotes


【解决方案1】:

我用 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);
})()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2011-04-10
    • 1970-01-01
    • 2012-10-09
    相关资源
    最近更新 更多