适用于 NodeJS 版本 16 但不适用于版本 17 或更高版本的 Axios 代码

编程入门 行业动态 更新时间:2024-10-05 13:18:47

<a href=https://www.elefans.com/category/jswz/34/1770972.html style=适用于 NodeJS 版本 16 但不适用于版本 17 或更高版本的 Axios 代码"/>

适用于 NodeJS 版本 16 但不适用于版本 17 或更高版本的 Axios 代码

在原开发环境,node v18.16.0(npm v9.5.1)运行时,出现如下错误 错误:写入 EPROTO 80DABDE101000000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:../deps/openssl/openssl/ssl/statem/extensions.c:922:

但是,使用 nvm 的节点 v16.20.0 (npm v8.19.4) 工作正常。 为什么会这样?我该怎么做才能让它在节点 v18.16.0 (npm v9.5.1) 中正常工作

const axios = require('axios');

const getUrlXY = async ({x, y}) => {
  const response = await axios.get(`,${y},${x}`, {
    maxRedirects: 0,
    validateStatus: null,
  });
  const paramsObject = {};
  response.headers.location.split("?")[1].split("&").forEach(param => {
    const [name, value] = param.split("=");
    paramsObject[name] = value;
  });
  return {
    ...paramsObject,
    url: response.headers.location,
  };
};

const getCarInfo = async ({urlX: urlX1, urlY: urlY1}, {urlX: urlX2, urlY: urlY2}) => {
  const response = await axios.get(`.json?roadside=ON&sp=${urlX1},${urlY1},start,POINT,&ep=${urlX2},${urlY2},end,POINT,&carMode=SHORTEST_REALTIME&carOption=NONE`);
  return response.data;
}

const main = async () => {
  const start = {
    urlX: 523953,
    urlY: 1084098,
  };
  const end = {
    urlX: 474055,
    urlY: 1088210,
  };
  const carInfo = await getCarInfo(start, end);
  console.log(carInfo);
}
main();
回答如下:

更多推荐

适用于 NodeJS 版本 16 但不适用于版本 17 或更高版本的 Axios 代码

本文发布于:2024-05-30 07:59:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770276.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:适用于   版本   但不   或更高   代码

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!