织梦CMS - 轻松建站从此开始!

欧博ABG-会员登录-网站

Node 环境下 axios 的proxy配置 出坑攻略

时间:2025-01-14 01:09来源: 作者:admin 点击: 10 次
为什么要写这一篇呢 因为巧合的碰到,然后通过搜索依旧让我花费了很长的时间才解决这个问题,我相信陈旧的搜索结果一样无法满足即将看到这篇文章的人,所以我决定帮助你们。
Node 环境下 axios 的proxy配置 出坑攻略为什么要写这一篇呢

因为巧合的碰到,欧博官网然后通过搜索依旧让我花费了很长的时间才解决这个问题,我相信陈旧的搜索结果一样无法满足即将看到这篇文章的人,所以我决定帮助你们。😝

为什么会有这个问题

因为axios的请求默认并没有使用本机的代理设置,欧博所以那些需要通过代理的接口并不能正常访问,返回结果就是你Timeout设置有多长,它就停顿有多久。其实你可以通过request、http 等库很简单的跳过这个问题,欧博娱乐因为他们的配置方式所搜即所得。

为什么还要死磕axios这个问题

没有放弃转从而转向使用其它库,那是因为axios 的功能很全面,promise的集成很自然,欧博allbet还有各种钩子函数提供,避免了自己使用较原始的库进行手动封装的不必要劳力付出

目前解决方案的入坑点 node-tunnel const axios = require('axios') const tunnel = require('tunnel') const tunnelProxy = tunnel.httpsOverHttp({ proxy: { host: 'you_host', port: 'you_port', }, }); axios(url,{ proxy: false, httpsAgent: tunnelProxy, }) 错误信息 tunneling socket could not be established, cause=Hostname/IP does not match certificate's altnames 一个最后一次commit为 2018-09-11且最终到0.0.6版本的库是不值得信赖的, 当你看到这种方式的时候请直接跳过 axios-https-proxy-fix const axios = require('axios-https-proxy-fix') axios(url,{ proxy: { host: '127.0.0.1', port: '1080' }, timeout: 10000 }) 安装使用方式很简单,但该库并没有随着axios变更同步更新,停留在了0.17.1的版本 所以 -> 请跳过 唯一能够解决的方式是下面这种

host是如果是本机那就是127.0.0.1,至于端口取决你的代理设置
注意,添加上httpsAgent的时候,需要设置 proxy 为 false,这一点很重要

const axios = require("axios"); const HttpsProxyAgent = require("https-proxy-agent"); // const httpsAgent = new HttpsProxyAgent(`${YOUR_HOST}:${YOUR_PORT}`); const axios = Axios.create({ proxy:false, httpsAgent })

Issue 参考链接

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-02-05 17:02 最后登录:2025-02-05 17:02
栏目列表
推荐内容