资讯专栏INFORMATION COLUMN

nodejs使用axios代理https失败的解决方案

13651657101 / 3874人阅读

摘要:前言在环境下做些简单的爬虫时,需要用代理地址,如果访问的目标站点是协议,用就会有些问题解决方法使用隧道代理用于的隧道代理具体参考安装使用使用是对请求修复的一个分支版本安装使用使用模块个人感觉如果只是在服务端运行的

前言

在node环境下做些简单的爬虫时,需要用代理地址,如果访问的目标站点
是https协议,用axios就会有些问题

解决方法

1.使用tunnel隧道代理

node-tunnel - 用于HTTP/HTTPS的隧道代理

具体参考(tunnel)[https://www.npmjs.com/package...]

安装
npm install 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,
    timeout: 10000
})
.then(res=>{
    console.log(res.data)
})

2.使用 axios-https-proxy-fix

axios-https-proxy-fix是对axioshttps请求bug修复的一个分支版本

安装
npm i axios-https-proxy-fix

使用

const axios = 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 request模块

个人感觉如果只是在服务端运行的代码,用这个最为稳妥

安装
npm i request

使用

const request = require("request")

request({
    url,
    timeout: 5000,
    proxy: "http://127.0.0.1:1080"
},(error,response,body)=>{
    if (error) {
        return    console.log(error)
    }
    console.log(body)
})

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106541.html

相关文章

  • Vue入坑笔记

    摘要:近段时间常使用开发,写点记录,避免时间久之忘了。安装教程查看是否已安装,在中输入若已安装则输出版本号。继承报错可能是文件路径问题。当和继承的不同时在文件夹内外的话,会出现该错误。 近段时间常使用vue-cli开发,写点记录,避免时间久之忘了。 环境 1. nodejs  vue-cli开发基于nodejs环境,确保开发的环境中已安装了nodejs。  安装教程 https://www....

    superw 评论0 收藏0
  • nodejs练手爬虫+API测试

    摘要:知乎日报代理首先感谢提供的分析使用详情请参考他提供的参数和地址代理转发的使用为前缀进入代理路由启动界面图像获取后为图像分辨率,接受任意的格式,为任意非负整数,返回值均相同返回值示例最新消息等具体参考提供的分析中的使用方式以及参数含义。 项目说明 这是一个基于express的node后端API服务,当时只是想抓取字幕组网站的下载资源,以备以后通过nas的方式去自动下载关注的美剧。不过后来...

    bigdevil_s 评论0 收藏0
  • 大话javascript 5期:跨域

    摘要:同源策略所谓同源是指协议,域名,端口均相同。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。需注意的是由于同源策略的限制,所读取的为跨域请求接口所在域的,而非当前页。 一、什么是跨域 1.URL解析 URL (Uniform Resource Locator )统一资源定位符(URL)是用于完整地描述Internet上网页和其他资源的地址的...

    jzzlee 评论0 收藏0
  • vue开发项目完全指南

    摘要:有两种方法,一种是在开发环境中设置通过的,另一种是在服务器上修改的配置设置。这样我们以后使用访问接口就可以不加了,打包后访问也不用手动去除统一管理在项目开发过程中,会涉及到很多接口的处理,当项目足够大时,就需要统一管理接口。 这篇文章总结了vue项目的所遇到的问题,包括跨域、用户认证、接口统一管理、路由配置、兼容性处理,性能优化等内容。 项目github地址 : 前端 https:...

    leoperfect 评论0 收藏0
  • axios异步请求数据简单使用

    摘要:使用模拟好后端数据之后模拟数据的使用参考,就需要尝试请求加载数据了。数据请求选择了,现在都推荐使用。规定要发送到服务器的数据。布尔值,表示请求是否异步处理。要求为类型的参数,请求成功后调用的回调函数。在一个中重写回调函数的字符串。 使用Mock模拟好后端数据之后(Mock模拟数据的使用参考:https://segmentfault.com/a/11...),就需要尝试请求加载数据了。数...

    forsigner 评论0 收藏0

发表评论

0条评论

13651657101

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<