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

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

月光魔力鸭

2021-02-08 14:55 阅读 3875 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
web开发中,前台有时候会需要一个随机数或序列,通常来说,这个随机数可能只在当前页面中使用,并不需要太过严格,大体上重复率低即可。
我们经常会有判断一个数值是素数的需求,那么我们如何来实现呢?
今天小程序上传体验版本后莫名无法获取用户数据,但是本地开发环境是正常的,通过开发工具的真机进行测试也正常,但是通过开发工具的预览又不正常,初步来看代码是没有问题的,可能是哪里设置有问题。
如何通过js调用本地摄像头呢?获取后如何对视频进行截图呢?在这里跟大家做一个简易的Demo来实现以上几个功能。
Question from codewar,about all of array combinations.
近期需求:将一棵树导出到excel中,树是ztree,通过插件Table2excel导出table到excel中。
web网站上总会有在文本域中提交代码的操作,那么如何处理呢?
开发的项目中有使用到微信开发,由于之前偶尔才用一次,也是用的别人的地址和测试号,这里记录下自己的操作。防止后续遗忘。