Fiddle扩展-HttpPing-批量检测web服务器是否正常

为简化网站健康检查流程,作者开发了一款名为HttpPing的Fiddler扩展,利用Fiddler提供的扩展接口,该工具能够批量测试多个网站的连通性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作原因维护一系列网站,需要隔段时间测试一下网站是否都能正常打开。一个一个网址的输入,然后回车测试太累了,也很繁琐。于是开发了此扩展,暂且叫它HttpPing吧。
先看截图
r_%e6%9c%aa%e5%91%bd%e5%90%8d.jpg

Fiddler提供了扩展接口,详情参考http://www.fiddlertool.com/Fiddler/dev/IFiddlerExtension.asp
大家都知道,Fiddler的 RequestBuilder已经可以ping单个网站了,当然 我会在调用RequestBuilder的方法,这是最好的选择。
Reflector查看Fiddler,找到代码

   1:  ///<summary>
   2:  ///RequestBuilder  输入地址 回车调用方法 核心在session.Execute
   3:  ///<summary>
   4:  private bool actSendRequestFromWizard()
   5:  {
   6:           ....................
   7:          Session session = new Session((HTTPRequestHeaders) oHeaders.Clone(), bytes);
   8:          ....................
   9:          ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(session.Execute), null);
  10:          return true;
  11:  }

把这个方法拷贝到扩展的程序集,OK,session.Execute找不到,继续reflector

   1:  internal void Execute(object objThreadState)
   2:  {
   3:      try
   4:      {
   5:          this.InnerExecute();
   6:      }
   7:      catch (Exception exception)
   8:      {
   9:          FiddlerApplication.ReportException(exception, "Uncaught Exception in Session #" + this.id.ToString());
  10:      }
  11:  }
  12:   

internal的方法 只好继续看 InnerExecute()

private void InnerExecute()
{
   ..........
}

OK,反射调用
   1:  ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(a => {
   2:                      session.GetType().InvokeMember("InnerExecute", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.InvokeMethod
   3:                          , null, session, null);
   4:                  }), null);
编译dll,拷贝到 Fiddler的Scripts目录,运行Fiddler,OK。
代码稍后上传送上 点击下载源代码

转载于:https://www.cnblogs.com/iImax/archive/2011/03/30/1999492.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值