nodejs使用socket5进行代理请求的实现
程序员文章站
2022-03-18 17:02:10
需要用到2个库,requestsocks5-http-client/lib/agent/或socks5-https-client/lib/agent因为一些已知原因,有时候,http.request请...
需要用到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代理请求内容请搜素以前的文章或下面相关文章,希望大家以后多多支持!