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 相关文章推荐
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
浅谈Nodejs中的作用域问题
Dec 26 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
Nodejs实现多房间简易聊天室功能
Jun 20 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodejs之koa2请求示例(GET,POST)
Aug 07 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
详解利用nodejs对本地json文件进行增删改查
Sep 20 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 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
Laravel 实现数据软删除功能
2019/08/21 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
python正则分析nginx的访问日志
2017/01/17 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
django的csrf实现过程详解
2019/07/26 Python
python绘制规则网络图形实例
2019/12/09 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
什么是URL
2015/12/13 面试题
计算机专业个人简短的自我评价
2013/10/23 职场文书
优秀小学生家长评语
2014/01/30 职场文书
中秋节超市促销方案
2014/01/30 职场文书
爱护公物标语
2014/06/24 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
邀请书格式范文
2015/02/02 职场文书