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已经抓到了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值