2017-12-25 2 views
0

그래서 필자는 기본적으로 Fiddler 앱의 "AutoResponder"와 동일한 기능을 사용하려고합니다.C# FiddlerCore AutoResponder 터널 연결이 실패했습니다.

또한 오프라인으로 작업해야합니다.

HTTP (S) 에 대한 자동 응답을 시도하는 웹 사이트 루트 인증서 인 을 신뢰하도록 사용자에게 요청하는 코드를 입력합니다. 그 내용은 다음과 같습니다.

  if (Fiddler.CertMaker.rootCertExists()) 
     { 
      if (!Fiddler.CertMaker.rootCertIsTrusted()) 
      { 
       MessageBox.Show(this, "You need to approve the Fiddler Root CA.", "First Time?"); 
       Fiddler.CertMaker.trustRootCert(); 
      } 

     } 
     else 
     { 
      Fiddler.CertMaker.createRootCert(); 
      if (!Fiddler.CertMaker.rootCertIsTrusted()) 
      { 
       MessageBox.Show(this, "You need to approve the Fiddler Root CA.", "First Time?"); 
       Fiddler.CertMaker.trustRootCert(); 

      } 
     } 

     if (!Fiddler.CertMaker.rootCertIsTrusted()) 
     { 
      MessageBox.Show(this, "Fiddler Root CA not Trusted.", "Error"); 
      this.Close(); 
     } 
자동 응답에 관해서는

(어떤 문제의 원인이되는 확신 메신저) 전도에 "ERR_TUNNEL_CONNECTION_FAILED"오류를 어떤 HTTPS 웹 사이트에 액세스하고 수신 할 수없는이 코드를 실행 한 후 그러나

FiddlerApplication.Startup(8080, true, true, true); 



     FiddlerApplication.BeforeRequest += delegate (Session session) 
     { 
      if (session.HTTPMethodIs("CONNECT")) { session.oFlags["X-ReplyWithTunnel"] = "Fake for HTTPS Tunnel"; return; } 
      if (session.uriContains("https://google.com")) 
      { 
       session.bBufferResponse = true; 
      } 
     }; 

     FiddlerApplication.BeforeResponse += delegate (Session session) 
     { 
      session.utilDecodeResponse(); 
      session.LoadResponseFromFile("Google.txt"); 
     }; 

을 자동 응답을 시도하는 웹 사이트입니다.

 private void FiddlerApplication_BeforeRequest(Session oSession) 
    { 
     FiddlerApplication.BeforeRequest += delegate (Session session) 
     { 

      Fiddler.FiddlerApplication.BeforeRequest += delegate (Fiddler.Session oS) 
      { 

       if (!oS.uriContains("google.com") && oSession.HTTPMethodIs("CONNECT")) { oSession.oFlags["X-ReplyWithTunnel"] = "Connect for real.."; } 

       if (oS.uriContains("google.com") && oS.HTTPMethodIs("CONNECT")) { oS["x-replywithtunnel"] = "Fake tunnel..."; } 
       if (oS.uriContains("https://google.com/")) 
       { 
        oS.oFlags["x-replywithfile"] = AppDomain.CurrentDomain.BaseDirectory + "google.txt"; 
       } 


       } 
      }; 
     }; 
-

답변

0

나는 그것을

  Fiddler.FiddlerApplication.BeforeRequest += new SessionStateHandler(FiddlerApplication_BeforeRequest); 
       FiddlerApplication.Startup(8080 , true,true); 

를 해결하기 위해 mannaged

관련 문제