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的url截取模块url-extract的使用实例
Nov 18 NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
NodeJS的Promise的用法解析
May 05 NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 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
Laravel5中contracts详解
2015/03/02 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
javascript文本模板用法实例
2015/07/31 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
python开发之文件操作用法实例
2015/11/13 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
Python configparser模块应用过程解析
2020/08/14 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
方正Java笔试题
2014/07/03 面试题
给小学生的新年寄语
2014/04/04 职场文书
租房协议书
2014/04/10 职场文书
三字经教学反思
2014/04/26 职场文书
教师个人读书活动总结
2014/07/08 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
七一晚会主持词
2015/06/29 职场文书