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。
    代码稍后上传送上 点击下载源代码
  • 相关阅读:
    JavaScript高级程序设计读书笔记(二)变量 作用域和内存
    JavaScript高级程序设计读书笔记(一)基础概念
    angular6 + ng-zorro鹿途后台管理系统(三)项目升级改造 01 升级ng-zorro-antd到1.8+
    angular6 + ng-zorro鹿途后台管理系统(三)环境变量配置
    angular6 + ng-zorro鹿途后台管理系统(二)项目结构规划
    angular6 + ng-zorro鹿途后台管理系统(一)
    web-view——微信小程序嵌入H5
    JS知识整理随笔(8) BOM
    JS知识整理随笔(7) DOM事件
    基础信息论 (复习)
  • 原文地址:https://www.cnblogs.com/iImax/p/1999492.html
Copyright © 2011-2022 走看看