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的交互示例代码
Aug 18 NodeJs
nodejs教程之入门
Nov 21 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
NodeJs——入门必看攻略
Jun 27 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 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
20个PHP常用类库小结
2011/09/11 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python微信库:itchat的用法详解
2017/08/14 Python
Python 编程速成(推荐)
2019/04/15 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
python编写实现抽奖器
2020/09/10 Python
python如何实现图片压缩
2020/09/11 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
2014的自我评价
2014/01/13 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
离职保密承诺书
2014/05/28 职场文书
节水口号标语
2014/06/19 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
撤诉申请书法院范本
2015/05/18 职场文书