您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關C# 如何使用Fiddler捕獲本地HttpClient發出的請求,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
示例接口定義
為了方便筆者先自己寫了個簡單的接口用于展示,返回當前時間,具體如下
/// <summary> /// GetToday. /// </summary> /// <returns></returns> [HttpGet] [Route("GetTime/Today")] public MyDateTime GetToday() { var now = DateTime.Now; return new MyDateTime { Year = now.Year, Month = now.Month, Day = now.Day, Hour = now.Hour, Minute = now.Minute, Second = now.Second, }; }
上面的MyDateTime是展示用的自定義類,其中的屬性已在return中表示。
使用HttpClient發起請求
var httpClient = new HttpClient(); var url = "http://localhost:5000/GetTime/Today"; var response = await httpClient.GetAsync(new Uri(url));
不出意外Fiddler是抓不到的。
配置Fiddler
打開Tools->Options
然后切換到Connections選項卡,我們可以看到Fiddler默認監聽的是8888端口,這就好辦了我們需要開啟HttpClient中的代理。
設置HttpClient
修改請求為:
var httpClient = new HttpClient(new HttpClientHandler { UseProxy = true, // 使用代理, Proxy = new WebProxy(new Uri("http://localhost:8888")) // port:8888就是Fiddler默認監聽的端口 }); var url = "http://localhost:5000/GetTime/Today"; var response = await httpClient.GetAsync(new Uri(url));
再次發起請求
Fiddler已經抓到了
補充知識:解決Fiddler無法捕獲本地HttpWebRequest(C#.net)請求和HttpURLConnection(Java)請求
方法很簡單,就是設置本地代理
C#
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Proxy = new WebProxy("127.0.0.1:8888", true);
Java
jre -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");
以上就是C# 如何使用Fiddler捕獲本地HttpClient發出的請求,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。