如何設定Fiddler來攔截Java程式碼傳送的HTTP請求,進行各種問題排查
我們使用Java的RestTemplate或者Apache的HTTPClient程式設計的時候,經常遇到需要跟蹤Java
程式碼傳送的HTTP請求明細的情況。和javascript程式碼在瀏覽器裡傳送請求可以通過Chrome開發者工具方便地跟蹤一樣,對於Java程式碼傳送的網路請求,我們也可以使用工具Fiddler來監控。
開啟Fiddler,在connections皮膚裡找到Fiddler監聽的埠號8888:
如果是使用Apache的HTTPClient進行網路請求傳送,程式碼如下:
使用HttpHost設定請求代理:
private static void downloadCommerce(){
HttpHost proxy = new HttpHost("localhost", 8888, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
CloseableHttpClient client= HttpClientBuilder.create().setDefaultRequestConfig(config).build();
String url = "https://jerrywang.com:9002/rest/v2/electronics/users/jerry.wang@sap.com";
String token = "test";
HttpGet get = new HttpGet(url);
get.setHeader("Authorization", "Bearer " + token);
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
System.out.println("url: " + result);
} catch (Exception e){
e.printStackTrace();
}
}
執行Java應用,然後到Fiddler裡,看到了監控到的HTTP請求各種明細,比如Java程式碼裡硬編碼的OAuth 2的認證token test:
Java程式碼收到的伺服器端返回的錯誤訊息:
這個錯誤訊息在Fiddler裡當然也是可以看到的:
在這種場景裡,Fiddler扮演的就是類似Chrome開發者工具的角色。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2671133/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java傳送http請求JavaHTTP
- 使用requests庫來傳送HTTP請求HTTP
- Vue 使用 Axios 傳送請求的請求體問題VueiOS
- JAVA設定http請求代理JavaHTTP
- python傳送HTTP POST請求PythonHTTP
- 使用Feign傳送HTTP請求HTTP
- 使用 request 和 cheerio 庫來傳送 HTTP 請求HTTP
- iOS 開發中使用 NSURLProtocol 攔截 HTTP 請求iOSProtocolHTTP
- SpringBoot 攔截器獲取http請求引數Spring BootHTTP
- nodejs使用request傳送http請求NodeJSHTTP
- Java傳送Post請求Java
- 在Java中,使用HttpUtils實現傳送HTTP請求JavaHTTP
- 如何檢視 Chrome 外掛傳送的 HTTP 請求(或 localStorage)?ChromeHTTP
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,jsoJavaHTTPclient協議JS
- curl 傳送 POST 請求的四種方式
- Go HTTP GET 請求可以傳送 body 嗎GoHTTP
- Go使用net/http庫傳送GET請求GoHTTP
- 如何傳送請求以及AJAX
- 如何使用jMeter傳送兩個邏輯上相關的HTTP請求JMeterHTTP
- 利用post請求傳送內容進行爬蟲爬蟲
- java傳送GET和post請求Java
- 043-socket程式設計傳送GET請求程式設計
- 使用 Angular HTTP_INTERCEPTOR 攔截器來記錄超時請求的一些思考AngularHTTP
- SpringMVC攔截器,設定不攔截的URLSpringMVC
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- 傳入http請求的UserAgent 根據它判斷是手機還是電腦傳送過來的請求HTTP
- fd攔截請求,修改資料
- 使用 $fetch 進行 HTTP 請求HTTP
- wireshark抓包curl傳送http2請求HTTP
- 理解ASP.NET Core - 傳送Http請求(HttpClient)ASP.NETHTTPclient
- 基於 HTTP 請求攔截,快速解決跨域和代理 MockHTTP跨域Mock
- Http請求get與post請求方式的各種相關面試總結HTTP面試
- java傳送get請求帶引數Java
- puppeteer去掉同源策略及請求攔截
- SpringBoot解決跨域請求攔截Spring Boot跨域
- 來來來,今天教你-Java-是如何發起-http-請求的JavaHTTP
- Jmeter —— jmeter利用取樣器中http傳送請求JMeterHTTP
- 前端傳送的請求,是如何請求到後端服務的?前端後端