title: how to capture http request using Fiddlercore in C#?
body: <p>I am trying to capture request header using fiddlercore in C#. Here is my code. I use selenium to get to the webpage for which I want to get Request header/ webforms. I am able to reach webpage but can not capture anything using fiddlercore. I know that I have to use delegate and BeginInvoke method but how exactly it should be done is unclear.
  I am using AfterSessionComplete event to capture request body. However it is empty. What am I missing? Can someone please help me solve this issue? Thanks. Here is my code.</p>
  
  <pre><code>    public void requestURL()
  {
          IWebDriver driver = new FirefoxDriver();
  
          driver.Navigate().GoToUrl("http://www.google.com");            
  
          IWebElement query = driver.FindElement(By.Name("q"));
          // search Cheese
          query.SendKeys("Cheese");
          //// submit query
          query.Submit();
  
          // Wait for the page to load, timeout after 10 seconds
          WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
          wait.Until((d) =&gt; { return d.Title.StartsWith("Cheese"); });
  
          // Should see: "Cheese - Google Search"
          Console.WriteLine("Page title is: " + driver.Title);
          Console.WriteLine("URL for page is: " + driver.Url);
      }
  
      static void Main(string[] args)
      {
          FiddlerApplication.Startup(8877, FiddlerCoreStartupFlags.DecryptSSL);
          HttpActions h = new HttpActions();
          h.requestURL();
          FiddlerApplication.AfterSessionComplete += FiddlerApplication_AfterSessionComplete;
          FiddlerApplication.Shutdown();
      }
  
      static void FiddlerApplication_AfterSessionComplete(Session oSession)
      {
          var s = oSession.GetRequestBodyAsString();
      }
  </code></pre>