当前位置: 首页 > 后端技术 > Node.js

Nodejs使用axios代理https失败解决方法

时间:2023-04-03 18:30:49 Node.js

前言在node环境下做一些简单的爬虫时,需要用到代理地址。如果你访问的目标站点是https协议,你用axios会有些问题。解决方案1.使用tunnel隧道代理node-tunnel-HTTP/HTTPSTunnel代理具体参考(tunnel)[https://www.npmjs.com/package...]安装npminstalltunneluseconstaxios=require('axios')consttunnel=require('tunnel')consttunnelProxy=tunnel.httpsOverHttp({proxy:{host:'you_host',port:'you_port',},});axios(url,{proxy:false,httpsAgent:tunnelProxy,timeout:10000}).then(res=>{console.log(res.data)})2.使用axios-https-proxy-fixaxios-https-proxy-fix是axioshttps请求的分支版本错误修复安装npmiaxios-https-proxy-fix使用constaxios=require('axios-https-proxy-fix')axios(url,{proxy:{host:'127.0.0.1',port:'1080'},timeout:10000}).then(res=>{console.log(res.data)})3.使用node请求模块我个人觉得如果只是代码运行在server端,是最安全的安装npm我请求使用constrequest=require('request')request({url,timeout:5000,proxy:'http://127.0.0.1:1080'},(error,response,body)=>{if(错误){returnconsole.log(error)}console.log(body)})