重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
需要用到2個庫,
成都創(chuàng)新互聯(lián)公司主營王屋網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,王屋h5微信小程序開發(fā)搭建,王屋網(wǎng)站營銷推廣歡迎王屋等地區(qū)企業(yè)咨詢
request
socks5-http-client/lib/Agent/
或socks5-https-client/lib/Agent
因為一些已知原因,有時候,http.request請求無法拿到數(shù)據(jù),
首先想到的是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); });
當(dāng)然,也可以修改代理地址:
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。
到此這篇關(guān)于nodejs使用socket5進行代理請求的實現(xiàn)的文章就介紹到這了,更多相關(guān)nodejs socket5代理請求內(nèi)容請搜素創(chuàng)新互聯(lián)以前的文章或下面相關(guān)文章,希望大家以后多多支持創(chuàng)新互聯(lián)!