nodejs使用socket5进行代理请求的实现
需要用到2个库,
request
socks5-http-client/lib/Agent/
或
socks5-https-client/lib/Agent
因为一些已知原因,有时候,http.request请求无法拿到数据,
首先想到的是proxy,其次是socket5.
有了以上两个库,接下来的代码超级简单。
constrequest=require('request'); varhttpAgent=require('socks5-http-client/lib/Agent'); varhttpsAgent=require('socks5-https-client/lib/Agent'); varAgent=/^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',//Defaultsto'localhost'. socksPort:1080,//Defaultsto1080. } },function(err,res){ console.log(err||res.body,res.statusCode,res.headers); });
我有点不理解的地方是:
我使用http.request的时候,需要自己添加各种headers,来满足请求不报错,而request库却不用写任何headers。
到此这篇关于nodejs使用socket5进行代理请求的实现的文章就介绍到这了,更多相关nodejssocket5代理请求内容请搜素毛票票以前的文章或下面相关文章,希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。