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
nodejs URL模块操作URL相关方法介绍
Mar 03 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
让nodeJS支持ES6的词法----babel的安装和使用方法
Jul 31 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
Nodejs 识别图片类型的方法
Aug 15 NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
Nov 18 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 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中使用Oracle数据库(1)
2006/10/09 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
php-fpm配置详解
2014/02/12 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
PDO::errorCode讲解
2019/01/28 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
js图片上传的封装代码
2017/08/01 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
JS实现多选框的操作
2020/06/24 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
小区文明倡议书
2014/05/16 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
2015年党员发展工作总结
2015/05/13 职场文书