nodejs使用socket5进行代理请求的实现
需要用到2个库,
request
socks5-http-client/lib/Agent/
或
socks5-https-client/lib/Agent
因为一些已知原因,有时候,http.request请求无法拿到数据,
首先想到的是proxy,其次是socket5.
有了以上两个库,接下来的代码超级简单。
const request = require('request'); var httpAgent = require('socks5-http-client/lib/Agent'); var httpsAgent = require('socks5-https-client/lib/Agent'); var Agent = /^https/.test(url) ? httpsAgent : httpAgent; request({ url: url, strictSSL: false, agentClass: Agent }, function(err, res) { console.log(err||res.body,res.statusCode,res.headers); });
当然,也可以修改代理地址:
request({ url: url, strictSSL: false, agentClass: Agent, agentOptions: { socksHost: 'localhost', // Defaults to 'localhost'. socksPort: 1080, // Defaults to 1080. } }, function(err, res) { console.log(err||res.body,res.statusCode,res.headers); });
我有点不理解的地方是:
我使用http.request 的时候,需要自己添加各种headers,来满足请求不报错,而request库却不用写任何headers。
到此这篇关于nodejs使用socket5进行代理请求的实现的文章就介绍到这了,更多相关nodejs socket5代理请求内容请搜素脚本之家以前的文章或下面相关文章,希望大家以后多多支持脚本之家!
相关文章
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
这篇文章主要介绍了Node Mongoose用法,结合实例形式分析了Mongoose使用、Schema、对象、model文档等基本原理、用法及操作注意事项,需要的朋友可以参考下2020-05-05Windows系统下Node.js安装以及环境配置的完美教程
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,下面这篇文章主要给大家介绍了关于Windows系统下Node.js安装以及环境配置的完美教程,需要的朋友可以参考下2022-06-06nvm版本导致npm install报错Unexpected token '.'的解决办法
最近做项目遇到npm install 的问题,下面这篇文章主要给大家介绍了关于nvm版本导致npm install报错Unexpected token '.'的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下2022-07-07Node.js 使用axios读写influxDB的方法示例
这篇文章主要介绍了Node.js 使用axios读写influxDB的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-10-10
最新评论