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命令行参数处理模块commander使用实例
Sep 17 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
Nodejs学习笔记之入门篇
Apr 16 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
详解如何在NodeJS项目中优雅的使用ES6
Apr 22 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
谈谈PHP语法(5)
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
php minixml详解
2008/07/19 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php-msf源码详解
2017/12/25 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
JavaScript获取Url里的参数
2014/12/18 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
JS回调函数深入理解
2019/10/16 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
浅析Python数据处理
2018/05/02 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python Shapely使用指南详解
2020/02/18 Python
Python读写锁实现实现代码解析
2020/11/28 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
安全标准化汇报材料
2014/02/03 职场文书
会议主持词
2014/03/17 职场文书
小学数学课后反思
2014/04/23 职场文书
大型演出策划方案
2014/05/28 职场文书
商务代表岗位职责
2015/02/15 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
初中思想品德教学反思
2016/02/24 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书