网络编程
位置:首页>> 网络编程>> JavaScript>> nodejs使用socket5进行代理请求的实现

nodejs使用socket5进行代理请求的实现

作者:jsoncode  发布时间:2024-05-09 14:49:44 

标签:node,socket5,代理请求

需要用到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。

来源:https://segmentfault.com/a/1190000021796119

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com