如何用Node.js结合socket5实现代理发起HTTP请求?

更新于
2026-09-27 01:25:55
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计339个文字,预计阅读时间需要2分钟。

如何用Node.js结合socket5实现代理发起HTTP请求?

需要使用两个库,`request` 和 `socks5-http-client/lib/Agent` 或 `socks5-https-client/lib/Agent`。由于某些已知原因,有时 `http.request` 请求无法获取数据,可能是因为想使用代理,其次是因为 socket5。有了上述两个库,可以解决问题。

需要用到2个库,

request

socks5-http-client/lib/Agent/
或
socks5-https-client/lib/Agent

因为一些已知原因,有时候,http.request请求无法拿到数据,

首先想到的是proxy,其次是socket5.

有了以上两个库,接下来的代码超级简单。

如何用Node.js结合socket5实现代理发起HTTP请求?

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代理请求内容请搜素易盾网络以前的文章或下面相关文章,希望大家以后多多支持易盾网络!

标签:实

本文共计339个文字,预计阅读时间需要2分钟。

如何用Node.js结合socket5实现代理发起HTTP请求?

需要使用两个库,`request` 和 `socks5-http-client/lib/Agent` 或 `socks5-https-client/lib/Agent`。由于某些已知原因,有时 `http.request` 请求无法获取数据,可能是因为想使用代理,其次是因为 socket5。有了上述两个库,可以解决问题。

需要用到2个库,

request

socks5-http-client/lib/Agent/
或
socks5-https-client/lib/Agent

因为一些已知原因,有时候,http.request请求无法拿到数据,

首先想到的是proxy,其次是socket5.

有了以上两个库,接下来的代码超级简单。

如何用Node.js结合socket5实现代理发起HTTP请求?

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代理请求内容请搜素易盾网络以前的文章或下面相关文章,希望大家以后多多支持易盾网络!

标签:实