Node.js發(fā)出請求走Proxyman代理調(diào)試tip詳解
需求
一些情況需要從請求來調(diào)試, 所以找了一個方案讓 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)境變量臨時關(guā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 當中可以開始抓取請求內(nèi)容了. 這部分不贅述.
其他
未知項,
- 如果 Node.js 啟動一個服務(wù), 外部調(diào)用時是否有辦法統(tǒng)一將其展示的 Proxyman?
- 不通過環(huán)境變量關(guān)閉證書驗證, HTTPS 直接代理應(yīng)該怎樣處理?
更多關(guān)于Node.js Proxyman代理調(diào)試的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
前端常見面試題之a(chǎn)sync/await和promise的區(qū)別
async/await是異步代碼的新方式,以前的方法有回調(diào)函數(shù)和Promise,下面這篇文章主要給大家介紹了關(guān)于前端常見面試題之a(chǎn)sync/await和promise區(qū)別的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07
Nodejs中的計時器(setTimeout?setIntervals?etImmediate)使用案例解析
這篇文章主要介紹了Nodejs中的計時器(setTimeout?setIntervals?etImmediate)使用案例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
如何用npm命令刪除開發(fā)項目中的node_modules文件夾
每個項目都會產(chǎn)生一個node_modules,每個node_modules少則幾十兆,多則幾百甚至上千兆,隨著時間的積累,維護項目的增加,整個項目目錄體積會越來越大,這篇文章主要給大家介紹了關(guān)于如何用npm命令刪除開發(fā)項目中的node_modules文件夾,需要的朋友可以參考下2023-12-12

