Node.js發(fā)出請求走Proxyman代理調試tip詳解
需求
一些情況需要從請求來調試, 所以找了一個方案讓 Node.js 請求走代理.
基于 https://stackoverflow.com/a/62174988/883571 驗證了這樣一個方案:
import proxy from "node-global-proxy"; proxy.setConfig({ http: "http://localhost:9090", https: "http://localhost:9090", }); proxy.start();
使用 Proxyman
我使用的是 Proxyman, 端口是 9090, 并且提供的是 HTTP 代理, 兩個參數(shù)都用 http:
地址.
代碼用了 import
由于我使用的是 mjs 文件執(zhí)行.
這個時候直接運行, 發(fā)出請求, Node.js 會報錯, 證書驗證不通過:
cause: Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1539:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket.emit (node:domain:489:12)
at TLSSocket._finishInit (node:_tls_wrap:953:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:734:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
}
本地開發(fā)的時候可以先通過環(huán)境變量臨時關閉證書驗證的行為:
export NODE_TLS_REJECT_UNAUTHORIZED=0
再重新運行腳本時, 會有警告提示, 請求會正常通過:
(node:93084) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
然后在 Proxyman 當中可以開始抓取請求內容了. 這部分不贅述.
其他
未知項,
- 如果 Node.js 啟動一個服務, 外部調用時是否有辦法統(tǒng)一將其展示的 Proxyman?
- 不通過環(huán)境變量關閉證書驗證, HTTPS 直接代理應該怎樣處理?
更多關于Node.js Proxyman代理調試的資料請關注腳本之家其它相關文章!
相關文章
從零開始學習Node.js系列教程之SQLite3和MongoDB用法分析
這篇文章主要介紹了Node.js SQLite3和MongoDB用法,結合實例形式分析了SQLite3和MongoDB數(shù)據庫的初始化、連接、查詢等操作的實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下2017-04-04干凈卸載Windows的Node.js環(huán)境的方法
這篇文章主要介紹了如何干凈卸載Windows的Node.js環(huán)境的方法,文中通過圖文結合的方式講解的非常詳細,對大家刪除Node.js環(huán)境有一定的幫助,需要的朋友可以參考下2025-01-01nodejs實現(xiàn)的連接MySQL數(shù)據庫功能示例
這篇文章主要介紹了nodejs實現(xiàn)的連接MySQL數(shù)據庫功能,結合實例形式分析了nodejs連接及查詢mysql數(shù)據的相關操作步驟與實現(xiàn)技巧,需要的朋友可以參考下2018-01-01node中的__filename和__dirname的使用詳解
本文主要介紹了node中的__filename和__dirname的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03基于 Node 實現(xiàn)簡易 serve靜態(tài)資源服務器的示例詳解
靜態(tài)資源服務器(HTTP 服務器)可以將靜態(tài)文件(如 js、css、圖片)等通過 HTTP 協(xié)議展現(xiàn)給客戶端。本文介紹如何基于 Node 實現(xiàn)一個簡易的靜態(tài)資源服務器,感興趣的朋友一起看看吧2022-06-06