axios 使用proxy代理请求https报错certificate has expired

axios 使用proxy代理请求https报错certificate has expired

月光魔力鸭

2021-02-08 14:55 阅读 3425 喜欢 0 axios https代理 certificate-has-expired

最近一直在想着抓一些网盘数据,进行资料归拢,可是当我真正开始的时候.. 还是遇到了反爬,当然我本身就有心理预期,这是肯定会碰到的,只是没想到会在代理IP上耗费这么久,之前的时候也处理过代理IP ,可是由于一知半解,导致很多配置都不理解,debug全靠猜...这次还是猜的。

certificate-has-expired

使用的是 nodejs + axios 访问 https 网站,在抓取了几百条后,就被限制IP 了,当然是找一些免费代理来进行替换,这里先罗列几个自己常用的代理。

中间还找了 极光/芝麻,可是当我注册后需要实名,上传身份证正反面后,还需要扫码支付宝...我就放弃了。

先说这个问题,很明显,证书过期,在 代理agent中配置不校验证书即可。

实现

return tunnel.httpsOverHttp({
    rejectUnauthorized: false,//注意该配置,其实我没有在官网上找到这个配置..纯属瞎猜,反正我是不带参数就报错,带上就正常。
    proxy: {
      host: '61.160.210.234',
      port : 808
    }
  })

整体实现

const tunnel = require('tunnel');
const axios = require('axios');
const url = `https://xxx.com/xx/xx`;
let baseHeader = {};//准备好header
let proxy = tunnel.httpsOverHttp({
    rejectUnauthorized: false,
    proxy : {
        host : '',port : ''
    }
})
;(async function(){
    let html = await axios.get(url, { timeout : 5000, headers: baseHeader,proxy : false,httpsAgent : proxy }).then(rs => rs.data).catch(err => {})
    console.log(html);
})();

各种换库 搞了小半天.. 主要还是用axios习惯了。

转载请注明出处: https://chrunlee.cn/article/axios-certificate-has-expired.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
近期需求:将一棵树导出到excel中,树是ztree,通过插件Table2excel导出table到excel中。
错误:The operation is insecure . 在使用canvas的 toDataUrl的时候报错,看了很多资料,基本上都说是设置跨域,但是我一直都有的啊。其实,只是顺序错了,setAttribute('crossOrigin','Anonymous') 要在设置 src之前设置。
开发的项目中有使用到微信开发,由于之前偶尔才用一次,也是用的别人的地址和测试号,这里记录下自己的操作。防止后续遗忘。
整理下关于axios的使用,一些常用的调用、处理以及其他。
偶尔练习下canvas,这里简单记录下常用API,防止遗忘..加深记忆..努力提高..争取突破...daydayup
通过修改数据库编码处理存储emoj表情导致的报错问题。
突然来了一个调研任务,想要实现一个类似3D虚拟展厅类似的需求,主要就是放一些学生的作品,然后预览啥的,效果还是要全景的效果。 经过一番调查,最终锁定了以前从未接触过的krpano。
在通过chrome浏览器来调用摄像头的时候发现getUserMedia报错,但是本地开发却没有问题,主要原因是https环境的问题。chrome 不允许在非https和非localhost下的非安全环境进行调用。