nodejs使用socket5进行代理请求的实现


Posted in NodeJs onFebruary 21, 2020

需要用到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代理请求内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

NodeJs 相关文章推荐
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
nodejs服务搭建教程 nodejs访问本地站点文件
Apr 07 NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
nodejs中express入门和基础知识点学习
Sep 13 NodeJs
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
Oct 17 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 #NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 #NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 #NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 #NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 #NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 #NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 #NodeJs
You might like
php类中的各种拦截器用法分析
2014/11/03 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
Node.js进阶之核心模块https入门
2018/05/23 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
Javascript Web Worker使用过程解析
2020/03/16 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
python的unittest测试类代码实例
2017/12/07 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Python实现线程状态监测简单示例
2018/03/28 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
中学生班主任评语
2014/01/30 职场文书
求职自荐信的格式
2014/04/07 职场文书
大学新闻系自荐书
2014/05/31 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
工资证明范本
2015/06/12 职场文书
律师催款函范文
2015/06/24 职场文书
医德医风学习心得体会
2016/01/25 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
Python中的变量与常量
2021/11/11 Python
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python