C# 使用Fiddler捕獲本地HttpClient發(fā)出的請求操作
示例接口定義
為了方便筆者先自己寫了個(gè)簡單的接口用于展示,返回當(dāng)前時(shí)間,具體如下
/// <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發(fā)起請求
var httpClient = new HttpClient(); var url = "http://localhost:5000/GetTime/Today"; var response = await httpClient.GetAsync(new Uri(url));
不出意外Fiddler是抓不到的。
配置Fiddler
打開Tools->Options

然后切換到Connections選項(xiàng)卡,我們可以看到Fiddler默認(rèn)監(jiān)聽的是8888端口,這就好辦了我們需要開啟HttpClient中的代理。

設(shè)置HttpClient
修改請求為:
var httpClient = new HttpClient(new HttpClientHandler
{
UseProxy = true, // 使用代理,
Proxy = new WebProxy(new Uri("http://localhost:8888")) // port:8888就是Fiddler默認(rèn)監(jiān)聽的端口
});
var url = "http://localhost:5000/GetTime/Today";
var response = await httpClient.GetAsync(new Uri(url));
再次發(fā)起請求
Fiddler已經(jīng)抓到了

補(bǔ)充知識:解決Fiddler無法捕獲本地HttpWebRequest(C#.net)請求和HttpURLConnection(Java)請求
方法很簡單,就是設(shè)置本地代理
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發(fā)出的請求操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用C#編寫Linux守護(hù)進(jìn)程實(shí)例代碼
如今的編程是一場程序員和上帝的競賽,程序員要開發(fā)出更大更好、傻瓜都會用到軟件,下面這篇文章主要給大家介紹了關(guān)于利用C#編寫Linux守護(hù)進(jìn)程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-01-01
C#中面向?qū)ο缶幊虣C(jī)制之多態(tài)學(xué)習(xí)筆記
這篇文章主要介紹了C#中面向?qū)ο缶幊虣C(jī)制之多態(tài)學(xué)習(xí)筆記,本文總結(jié)了個(gè)人對多態(tài)的理解以及接口多態(tài)、繼承多態(tài)等內(nèi)容,并給出了代碼示例,需要的朋友可以參考下2015-01-01
C# 調(diào)用API函數(shù)彈出映射網(wǎng)絡(luò)驅(qū)動器對話框問題
C#中的.net的常用對話框中沒有映射網(wǎng)絡(luò)驅(qū)動映射對話框,所以需要用windows的API函數(shù)去實(shí)現(xiàn)彈出映射網(wǎng)絡(luò)驅(qū)動器對話框2014-01-01
C#?PaddleOCRSharp?OCR進(jìn)行疲勞測試
PaddleOCRSharp?是百度飛槳封裝的.NET版本?OCR?dll?類庫,OCR可以將圖像文件中的文本內(nèi)容進(jìn)行識別,下面我們就來看看如何通過它們實(shí)現(xiàn)疲勞測試吧2024-11-11
c# 實(shí)現(xiàn)圓形的進(jìn)度條(ProgressBar)
這篇文章主要介紹了c# 如何實(shí)現(xiàn)圓形的進(jìn)度條(ProgressBar),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03

