<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        nodejs中request庫使用HTTPS代理的方法

        來源:懂視網 責編:小采 時間:2020-11-27 21:57:40
        文檔

        nodejs中request庫使用HTTPS代理的方法

        nodejs中request庫使用HTTPS代理的方法:正在嘗試改用NodeJS編寫爬蟲,http請求庫選擇了 request ,用起來還是挺簡單的。 現在有個需求,需要用Fiddler抓包我發出去的請求,以便和瀏覽器發出去的包進行對比。 因為需要解密HTTPS報文,需要讓node要么忽略證書安全,要么信任Fiddler的CA證書
        推薦度:
        導讀nodejs中request庫使用HTTPS代理的方法:正在嘗試改用NodeJS編寫爬蟲,http請求庫選擇了 request ,用起來還是挺簡單的。 現在有個需求,需要用Fiddler抓包我發出去的請求,以便和瀏覽器發出去的包進行對比。 因為需要解密HTTPS報文,需要讓node要么忽略證書安全,要么信任Fiddler的CA證書

        正在嘗試改用NodeJS編寫爬蟲,http請求庫選擇了 request ,用起來還是挺簡單的。

        現在有個需求,需要用Fiddler抓包我發出去的請求,以便和瀏覽器發出去的包進行對比。

        因為需要解密HTTPS報文,需要讓node要么忽略證書安全,要么信任Fiddler的CA證書。

        網上找了一圈,總結如下:

        方法一:設置環境變量

      1. 設置環境變量NODE_TLS_REJECT_UNAUTHORIZED=0
      2. 即"不拒絕未認證的證書"
      3. 但是直接修改系統環境變量比較危險,因為會影響到所有nodejs的程序;比較穩妥的辦法是腳本中調用process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0; 這樣僅對本進程生效
      4. 方法二:每請求單獨設置忽略證書安全

      5. 上述方法還是有一定風險,因為當前nodejs進程都受此全局設置影響
      6. 可以在request的options中添加rejectUnauthorized: false選項來針對單個請求忽略證書檢查
      7. 當然也可以用request.defaults直接設置默認選項
      8.  const request = require("request").defaults({
         proxy: "http://127.0.0.1:8888",
         rejectUnauthorized: false,
         })
         request.get("https://www.baidu.com").on("response", console.log)
        

        方法三:使用Fiddler的CA證書

      9. 這個方法是最穩妥的,不會讓你的子系統產生任何溢出影響
      10. 首先在Fiddler內把其根證書導出到桌面:Tools -> Options -> HTTPS -> Actions -> Export Root Certificate to Desktop
      11. 導出的文件是個.cer證書,經測試nodejs不直接支持,需要用openssl轉換成PEM格式(我的openssl是cygwin裝的)
      12. openssl x509 -inform DER -in FiddlerRoot.cer -outform PEM -out fiddler.pem
      13. 把轉換出來的fiddler.pem放到你的程序能訪問的位置
      14. 使用ca選項來指定CA證書
      15.  const request = require("request").defaults({
         proxy: "http://127.0.0.1:8888",
         ca: require("fs").readFileSync("path/to/fiddler.pem", {encoding: "utf-8"}),
         })
         request.get("https://www.baidu.com").on("response", console.log)
        

        另外:request當然也支持自簽名證書,不過我暫時沒這方面需求,就沒繼續摸索了

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        nodejs中request庫使用HTTPS代理的方法

        nodejs中request庫使用HTTPS代理的方法:正在嘗試改用NodeJS編寫爬蟲,http請求庫選擇了 request ,用起來還是挺簡單的。 現在有個需求,需要用Fiddler抓包我發出去的請求,以便和瀏覽器發出去的包進行對比。 因為需要解密HTTPS報文,需要讓node要么忽略證書安全,要么信任Fiddler的CA證書
        推薦度:
        標簽: 代理 js https
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 女人18毛片a级毛片免费| 秋霞人成在线观看免费视频 | 3344在线看片免费| AV在线播放日韩亚洲欧| 又大又硬又粗又黄的视频免费看| 天堂亚洲免费视频| 草久免费在线观看网站| 亚洲精品无码专区久久同性男| 亚洲精品视频免费 | 免费人成视频在线| 亚洲综合欧美色五月俺也去| 无码国模国产在线观看免费| 风间由美在线亚洲一区| 亚洲日韩人妻第一页| a级毛片黄免费a级毛片| 久久精品国产亚洲av影院| 猫咪社区免费资源在线观看| 另类专区另类专区亚洲| 在线观看亚洲成人| 67pao强力打造国产免费| 中文字幕乱码亚洲无线三区| mm1313亚洲国产精品美女| 99免费在线视频| 亚洲人成在线中文字幕| 日韩免费视频在线观看| 黄桃AV无码免费一区二区三区| 亚洲国产精品久久久久婷婷软件| 在线观看av永久免费| 国产亚洲精品欧洲在线观看| 亚洲欧洲日产国码av系列天堂 | 色多多免费视频观看区一区| 亚洲真人无码永久在线| 1000部羞羞禁止免费观看视频 | 亚洲va在线va天堂成人| 亚洲中文字幕伊人久久无码| 免费国产黄网站在线观看| 亚洲精品第一国产综合野| 久久亚洲精品无码观看不卡| 免费观看AV片在线播放| 一级做a爰片久久毛片免费看| 亚洲色图校园春色|