最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS中配置請求代理服務(wù)器方式

 更新時間:2023年10月30日 09:15:23   作者:高先生的貓  
這篇文章主要介紹了NodeJS中配置請求代理服務(wù)器方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

NodeJS配置請求代理服務(wù)器

先來說說場景,之前我寫過一個小爬蟲,node寫的,一直都是當(dāng)做玩具來用的。

某天不知道誰在我的接口,導(dǎo)致被拉黑了。

大佬讓我換個機器重新裝一下,但是因為我的里面用到了一個圖片處理庫 sharp 裝起來很煩,然后就研究研究能不能搞個代理服務(wù)器。

大體是如上圖,用戶的請求最后都會通過我的服務(wù)器去請求對方服務(wù)器,這就導(dǎo)致頻率一高就被封。

那么我可以請求代理服務(wù)器,甚至是做一個代理池,再把請求平均開。

既然方案定下來了,那么我們就要開始測試了。

先找找自己怎么做,然后看看有沒有現(xiàn)成的服務(wù)。

代理服務(wù)器

squid

squid 是應(yīng)用層的代理服務(wù)軟件,它可以提供緩存加速、應(yīng)用層過濾的功能。

我的服務(wù)器就可以理解為客戶機,通過代理服務(wù)器請求對方服務(wù)器??梢赃_到兩個目的

緩存一部分請求,防止同一地址,短時間內(nèi)大量請求。

隱藏客戶機ip

阿布云

阿布云就是一個做代理的服務(wù)提供商,HTTP隧道可以讓每個請求從一個隨機 IP 轉(zhuǎn)發(fā)(秒級5個,最高200個,超過會429)。

Node中如何配置代理服務(wù)器

axios

使用axios的話,Node中支持 proxy 參數(shù),參照文檔完成即可。

const axios = require('axios');
// 要訪問的目標(biāo)頁面
var targetUrl = "https://www.lilnong.top/cors/sf";
// 配置代理服務(wù)器信息
var proxy = {
    host: "8.8.8.8", //代理服務(wù)器地址
    port: 80,//端口
    auth: { // auth認證信息,阿布云那邊有,squid 的話不需要
        username: '',password: ''
    }
};
// https://github.com/axios/axios#request-config
axios.get(targetUrl,{proxy:proxy})
    .then((response) => console.log(response.data))
    .catch((error) => console.log(error))

axios 異常情況

axios配置代理服務(wù)器后無法請求https地址如何解決?

首先我們先確定兩種情況

  • http 可以正常請求
  • https 返回501

這個問題是因為axios支持導(dǎo)致的,有兩個解決辦法。

使用 axios-https-proxy-fix 版本來代替 axios。

使用 tunnel 隧道來處理。

 axios('https://www.lilnong.top/cors/sf2',{
         proxy: false,
         httpsAgent: tunnel.httpsOverHttp({proxy:{
             host: '8.8.8.8',//代理服務(wù)器域名或者ip
             port: 80 //代理服務(wù)器端口
         }})
     })
     .then(v=>console.log(jsON.stringify(v.data)))
     .catch(v=>console.log(v.message))

request

如果我們使用的不是 axios,而且 request 庫的話,也是可以的。

request({
    url:'https://www.lilnong.top/cors/sf3',
    proxy: 'http://8.8.8.8:80'//代理服務(wù)器地址 
    // "http://" + proxyUser + ":" + proxyPass + "@" + proxyHost + ":" + proxyPort;
}, function (error, response, body) {
    console.log('body:', body);
});

request 異常情況

npm install request 裝不上

request has been deprecated, see https://github.com/request/request/issues/3142

因為 request 不會在開發(fā)新的功能了,不推薦再使用了。

也因為用的人實在太多了,需要考慮的兼容太多,所以整個庫轉(zhuǎn)為了維護。

這個時候我們可以試試用 cnpm install request 來裝

其他測試請求代理服務(wù)器的方法

curl

使用 curl 我們可以在服務(wù)器上很快的看到代理服務(wù)器是否好使。

curl -x "http://8.8.8.8:80" https://www.lilnong.top/cors/sf4

-x 是設(shè)置代理服務(wù)器地址, x 是小寫哦。

別寫錯,大寫的是設(shè)置請求方式 -X POST。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 初識Node.js

    初識Node.js

    本文給大家介紹的是node.js的初體驗,從最簡單的內(nèi)容開始,慢慢的深入分析node.js。并附上一則很不錯的文章《7天學(xué)會nodeJS》更加詳細的向我們展示了node.js的學(xué)習(xí)步驟。
    2015-03-03
  • nodejs連接mysql數(shù)據(jù)庫及基本知識點詳解

    nodejs連接mysql數(shù)據(jù)庫及基本知識點詳解

    這篇文章主要介紹了nodejs連接mysql數(shù)據(jù)庫,結(jié)合實例形式總結(jié)分析了nodejs連接與操作mysql數(shù)據(jù)庫的相關(guān)模板、配置及mysql數(shù)據(jù)庫查詢、添加數(shù)據(jù)等操作技巧,需要的朋友可以參考下
    2018-03-03
  • NodeJs之word文件生成與解析的實現(xiàn)代碼

    NodeJs之word文件生成與解析的實現(xiàn)代碼

    這篇文章主要介紹了NodeJs之word文件生成與解析的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • node.js中的http.createClient方法使用說明

    node.js中的http.createClient方法使用說明

    這篇文章主要介紹了node.js中的http.createClient方法使用說明,本文介紹了http.createClient的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 雙token無感刷新nodejs+React詳細解釋(保姆級教程)

    雙token無感刷新nodejs+React詳細解釋(保姆級教程)

    雙token系統(tǒng)可以更好地管理用戶的權(quán)限,這篇文章主要介紹了雙token無感刷新nodejs+React的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-05-05
  • 搭建一個nodejs腳手架的方法步驟

    搭建一個nodejs腳手架的方法步驟

    這篇文章主要介紹了如何搭建一個nodejs腳手架的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 詳解nodejs通過代理(proxy)發(fā)送http請求(request)

    詳解nodejs通過代理(proxy)發(fā)送http請求(request)

    本篇文章主要介紹了nodejs通過代理(proxy)發(fā)送http請求(request),具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • Nodejs 中的 Buffer 類的創(chuàng)建與基本使用

    Nodejs 中的 Buffer 類的創(chuàng)建與基本使用

    這篇文章主要為大家介紹了Nodejs中Buffer的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • nodejs如何在typescript項目中申明全局變量

    nodejs如何在typescript項目中申明全局變量

    這篇文章主要介紹了nodejs在typescript項目中申明全局變量,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2024-05-05
  • node 安裝 windows-build-tools全過程

    node 安裝 windows-build-tools全過程

    這篇文章主要介紹了node 安裝 windows-build-tools全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論

济南市| 滦南县| 襄樊市| 通河县| 红桥区| 黔西| 临海市| 巨野县| 昌图县| 神农架林区| 海兴县| 涟源市| 桂平市| 综艺| 北京市| 游戏| 精河县| 喀喇沁旗| 夏津县| 平湖市| 西峡县| 建德市| 舟山市| 大埔区| 彰化市| 高雄县| 赣州市| 来安县| 肃北| 绵阳市| 连云港市| 清水河县| 腾冲县| 肇源县| 渝中区| 焦作市| 和静县| 双辽市| 江都市| 黎平县| 滦平县|