C# 使用Fiddler捕獲本地HttpClient發(fā)出的請(qǐng)求操作
示例接口定義
為了方便筆者先自己寫(xiě)了個(gè)簡(jiǎn)單的接口用于展示,返回當(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是展示用的自定義類(lèi),其中的屬性已在return中表示。
使用HttpClient發(fā)起請(qǐng)求
var httpClient = new HttpClient(); var url = "http://localhost:5000/GetTime/Today"; var response = await httpClient.GetAsync(new Uri(url));
不出意外Fiddler是抓不到的。
配置Fiddler
打開(kāi)Tools->Options

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

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

補(bǔ)充知識(shí):解決Fiddler無(wú)法捕獲本地HttpWebRequest(C#.net)請(qǐng)求和HttpURLConnection(Java)請(qǐng)求
方法很簡(jiǎn)單,就是設(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ā)出的請(qǐng)求操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用代理模式來(lái)進(jìn)行C#設(shè)計(jì)模式開(kāi)發(fā)的基礎(chǔ)教程
這篇文章主要介紹了使用代理模式來(lái)進(jìn)行C#設(shè)計(jì)模式開(kāi)發(fā)的基礎(chǔ)教程,代理模式主張?jiān)诳蛻?hù)端和目標(biāo)對(duì)象中間建立中介來(lái)降低程序設(shè)計(jì)的耦合度,需要的朋友可以參考下2016-02-02
C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法
這篇文章主要介紹了C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法,實(shí)例分析了C#控件的相關(guān)使用技巧,需要的朋友可以參考下2016-06-06
C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式
這篇文章介紹了C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
Unity的Console的控制類(lèi)LogEntries深入解析與實(shí)用案例
C#創(chuàng)建自定義控件及添加自定義屬性和事件使用實(shí)例詳解

