由于遇上了個迷之請求,接口調用正常,OkHttpClient調用正常,RestTemplate調用失敗,所以想看看發送的報文是怎樣的,所以就下了個Fiddler
問題
下載安裝,以及如何安裝證書,網上太多相同文章了,就不再贅敘(畢竟我也是看別人的教程來安裝的)
- 安裝
- 導出證書
- 證書導入瀏覽器
- 配置瀏覽器代理
然后啟動服務就會發現,fiddler只能抓取瀏覽器的請求…
分析
由于我需要的是抓取調用IDEA啟動的服務請求記錄,所以可能是需要對IDEA進行配置
網上開始找資料,然后發現有些資料說到jdk是有獨立的證書管理的,所以需要把剛才步驟2
導出的證書導入jdk的證書管理器中,既然導入了,那同樣是需要配置代理了,部分說直接通過System.setProperty()
去配置代理,或者通過HttpProxy
配置代理,前者試了沒生效(不懂),后者看著就麻煩,所以放棄了,最終選用通過虛擬機參數配置
-DproxySet=true
-DproxyHost=127.0.0.1
-DproxyPort=8888
解決
開始通過這種方式會報另一個錯誤提示找不到證書路徑,然后各種重裝一步步走都沒能解決,然后現在回顧卻沒法復現報錯了
大概是PKIX path…意思是找不到證書路徑的
最終添加以下vm options解決
-DproxySet=true
-DproxyHost=127.0.0.1
-DproxyPort=8888
-Djavax.net.debug=ssl
啟動的時候可以發現,它會去加載各個證書
adding as trusted cert:Subject: CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.comIssuer: CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.comAlgorithm: RSA; Serial number: 0x5efd8364a3650884492251d918d131b0Valid from Sat Nov 25 01:03:20 CST 2023 until Sun Feb 22 01:03:20 CST 2026