nodejs使用socket5進行代理請求的實現(xiàn)
需要用到2個庫,
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);
});
當然,也可以修改代理地址:
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)容請搜素腳本之家以前的文章或下面相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
Win7系統(tǒng)中如何安裝高版本的NodeJS(親測有效!)
Node.js是基于Chrome V8引擎的JavaScript運行環(huán)境,能夠使JavaScript在服務(wù)器端運行,這篇文章主要給大家介紹了關(guān)于Win7系統(tǒng)中如何安裝高版本的NodeJS的相關(guān)資料,需要的朋友可以參考下2023-12-12

