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 npm install全局安装和本地安装的区别
Jun 05 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
Apr 01 NodeJs
详解nodejs爬虫程序解决gbk等中文编码问题
Apr 06 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
nodejs中Express与Koa2对比分析
Feb 06 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 NodeJs
nodejs中的异步编程知识点详解
Jan 17 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 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防盗链的常用方法小结
2010/07/02 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
PHP强制转化的形式整理
2020/05/22 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
IE图片缓存document.execCommand("BackgroundImageCache",false,true)
2011/03/01 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
Python构建图像分类识别器的方法
2019/01/12 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
序列化Python对象的方法
2020/08/01 Python
Python连接Impala实现步骤解析
2020/08/04 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书