国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

簡述Java中Http/Https請求監聽方法

2019-11-14 20:56:08
字體:
來源:轉載
供稿:網友
簡述java中Http/Https請求監聽方法一、工欲善其事必先利其器

做Web開發的人總免不了與Http/Https請求打交道,很多時候我們都希望能夠直觀的的看到我們發送的請求參數和服務器返回的響應信息,這個時候就需要借助于某些工具啦。本文將采用Fiddler2作為分析工具,Fiddler很強大,它能記錄所有客戶端和服務器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據,是越墻抓包之利器。關于工具的介紹可以參考下面的鏈接:

http://m.survivalescaperooms.com/TankXiao/archive/2012/02/06/2337728.html

工具的界面如下(拷貝了上面鏈接的圖,大笑):

這里我想說要注意以下幾點:

1、工具的原理實際是啟動的時候為你開啟了一個代理(端口是8888,默認的),關閉的時候會取消這個代理設置。如下圖所示,然后所有的請求都會首先通過這個代理(localhost除外),所以它支持多種瀏覽器。

image

2、默認情況下是沒有開啟Https請求監聽的,所以得手動開啟,勾選下面的紅色框框里面的東西,注意那段紅色的文字哦

image

二、瀏覽器請求的監聽方法

經過上面的配置,瀏覽器發送的Internet請求不管是http還是https都可以監聽了。但是有一個例外,就是你自己電腦上的站點(localhost和127.0.0.1)還是監聽不到,因為Fiddler默認忽略來自這兩個地址的請求,解決的方法如下:

1、用 http://localhost. (locahost緊跟一個點號) 2、用 http://127.0.0.1. (127.0.0.1緊跟一個點號) 3、用 http://machinename (機器名)

三、Java后臺工程Http和Http請求的監聽方法
1、后臺工程的Http請求

在默認情況下,Fiddler不能監聽Java HttpURLConnection請求。究其原因,Java的網絡通信協議棧可能與瀏覽器的通信協議棧略有區別,Fiddler監聽Http請求的原理是在應用程序和操作系統網絡通信層之間搭建了一個代理服務器,而Java的HttpURLConnection應該是繞過了這個代理服務器,因此Fiddler無法監聽到Java HttpURLConnection請求。解決方法就是給java環境設置一個代理指向Fiddler,其方法有兩種:

一是設置JVM的啟動參數,MyApp是你的應用名

java -DPRoxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp

二是設置環境屬性

System.setProperty("http.proxyHost", "localhost"); System.setProperty("http.proxyPort", "8888"); System.setProperty("https.proxyHost", "localhost");System.setProperty("https.proxyPort", "8888");
2、后臺工程的Https請求

這個就比較繁瑣了,整了好久才弄明白,最主要的困難就是Https證書問題,相關的知識可以參考下面的鏈接:http://m.survivalescaperooms.com/devinzhang/archive/2012/02/28/2371631.html。

我們知道SDK要發送Https請求就必須先注冊該站點的證書到jre中,注冊的方法如下:Image

其中keytool位于java jdk的 bin目錄下。

要想監聽后臺Https請求,必須要注冊兩個證書,一個是該Https站點的證書,還有一個是Fiddler自己的證書。應該還記得上面第一張截圖那段紅色的文字吧?沒錯,點擊那個按鈕導出證書到桌面。在注冊完成Https站點的證書后,再注冊Fiddler的證書。然后仿照上面的方法注冊證書,下面是我的機器的注冊代碼

C:/Users/Administrator>D:/bingoeclipse4.3win64/jdk/bin/keytool.exe -import -fileC:/Users/Administrator/Desktop/FiddlerRoot.cer -keystore FiddlerKeystore -aliasFiddler

請記得一定要注冊兩個證書,否則會報證書不存在錯誤。

經過以上的證書注冊,我們應該能實現監聽Https請求了,但是還有一個問題,那就是前面多次提到的Fiddler會忽略localhost的請求,所以我們還是要配置一個代理指向Fiddler,在JVM的啟動參數的地方配置如下信息:

image

我用的是Intell IDEA編輯器,Eclipse只是配置的地方不同而已,個人感覺IDEA比較好用,智能提示很強。

經過以上的配置和注冊處理,現在運行起來應該能監聽Https的請求了,效果圖如下。

image

 

現在老板再也不用擔心我的請求了,哪里不會點哪里……


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 乡宁县| 剑阁县| 鹿泉市| 阿克陶县| 浙江省| 兴业县| 花莲县| 马尔康县| 乐至县| 得荣县| 丘北县| 福鼎市| 长丰县| 北安市| 永泰县| 报价| 巴楚县| 扎兰屯市| 金秀| 马边| 江达县| 蛟河市| 福清市| 通河县| 淮北市| 五原县| 精河县| 北碚区| 寿宁县| 安塞县| 和平县| 麟游县| 大庆市| 舞钢市| 平昌县| 湄潭县| 潼南县| 古丈县| 高州市| 丰都县|