zoukankan      html  css  js  c++  java
  • Fiddle扩展HttpPing批量检测web服务器是否正常

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

    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。
    代码稍后上传送上 点击下载源代码
  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/iImax/p/1999492.html
Copyright © 2011-2022 走看看