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开发环境配置与使用
Nov 17 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
webstorm中配置nodejs环境及npm的实例
May 15 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 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
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
php学习笔记之面向对象
2014/11/08 PHP
php基础教程
2015/08/26 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
TensorFlow tensor的拼接实例
2020/01/19 Python
Python文件操作方法详解
2020/02/09 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
如何通过python计算圆周率PI
2020/11/11 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
应届生体育教师自荐信
2013/10/03 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
饮料业务员岗位职责
2013/12/15 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
个人工作表现评语
2014/04/30 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
担保书范本
2015/01/20 职场文书
岳麓书院导游词
2015/02/03 职场文书
幼师大班个人总结
2015/02/13 职场文书
中学社团活动总结
2015/05/07 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电