您好,登錄后才能下訂單哦!
需要用到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代理請求內容請搜素億速云以前的文章或下面相關文章,希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。