首页 > 语言 > JavaScript > 正文

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

2024-05-06 15:44:43
字体:
来源:转载
供稿:网友

需要用到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代理请求内容请搜素错新站长站以前的文章或下面相关文章,希望大家以后多多支持错新站长站!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选