Telerik Forums
Fiddler Forum
4 answers
1.9K+ views
Eric - I have used Fiddler as an everyday part of my job for about 5 years now. I am proficient with it. Rarely need to use rule editor - but have done some. 

Ok, so I have to capture many different websites with Fiddler. Many of them are SSL sites. And I don't think I have ever had this issue.
When I go to the site https://www.ote.gr/web/guest (its in Greece) it's not very fast and takes a while to load, but with fiddler it is taking longer and I wonder if it is somehow creating the 502's I am seeing. If you go to the site and see how it loads, then use the latest Fiddler (as of today Feb 11 2014 ver v4.4.9.9) you should see the same thing. I tried an old 2.4 fiddler on a different network and different machine too just to see.. no difference. Many of the connections will be ok.. but then you get a bunch of 502s on http to ssl tunnels... then... you'll see that the page doesn't render properly.

But.. if you were to go to say capture https://www.bankofamerica.com no problem.

I tried the:
 static function OnBeforeRequest(oSession: Session) {
if (oSession.HTTPMethodIs("CONNECT") && oSession.HostnameIs("www.ote.com")) 

  oSession["x-OverrideSslProtocols"] = "ssl3"; 
  FiddlerApplication.Log.LogString("Legacy compat applied for inbound request to BuggySite.com"); 
}

As you can guess, it didn't help. So I am here looking for a hand. Let me know if you need anything else to help me with this.

I tried attaching a saz with the 502s for your review but the forum tool wouldn't let me. Maybe too large. I did give you a snap shot of the page render with and without fiddler runnning.

My hope is you can tell me some timeout parameter to change so that it won't time out or a way to speed up the tunnel connections in case their server infrastructure is what is deciding it's taking too long and drops the connection. Let me know and thanks.

Evan Paul
Top achievements
Rank 1
 answered on 03 Mar 2015
1 answer
259 views
Hi Eric,

      BeforeRequest event not raised when fiddler using with selenium(chrome webdriver).

     Coded as follows


               CONFIG.bCaptureCONNECT = true;
            CONFIG.IgnoreServerCertErrors = true;
            CONFIG.bMITM_HTTPS = true;
           
            FiddlerApplication.BeforeRequest += delegate(Session oSession)
            {
                Console.WriteLine("Request URL {0}", oSession.fullUrl);            
            };
            var cert = InstallCertificate();
            int proxyPort = StartProxy(0);
            OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
            proxy.HttpProxy = string.Format("127.0.0.1:{0}", proxyPort);
            ChromeOptions options = new ChromeOptions();
            options.Proxy = proxy;

IWebDriver Driver = new ChromeDriver(@"C:\chromedriver_win32", options);
          
            Console.WriteLine("Certificate {0}", cert);
            Driver.Navigate().GoToUrl(<url>);
         
 public static bool InstallCertificate()
        {

            if (!Fiddler.CertMaker.rootCertExists())
            {
                if (!Fiddler.CertMaker.createRootCert())
                    return false;

                if (!Fiddler.CertMaker.trustRootCert())
                    return false;
                X509Store certStore = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
                certStore.Open(OpenFlags.ReadWrite);
                try
                {
                    certStore.Add(Fiddler.CertMaker.GetRootCertificate());
                }
                finally
                {
                    certStore.Close();
                }
            }

            return true;
        }

private static int StartProxy(int desiredPort)
        {   
           FiddlerCoreStartupFlags flags = FiddlerCoreStartupFlags.DecryptSSL & FiddlerCoreStartupFlags.AllowRemoteClients & FiddlerCoreStartupFlags.CaptureFTP & FiddlerCoreStartupFlags.ChainToUpstreamGateway & FiddlerCoreStartupFlags.MonitorAllConnections & FiddlerCoreStartupFlags.CaptureLocalhostTraffic;
           FiddlerApplication.Startup(desiredPort, flags);       
           return FiddlerApplication.oProxy.ListenPort;
        }

Thank you,

Regards,
Avinash.
Eric Lawrence
Telerik team
 answered on 27 Feb 2015
2 answers
286 views
Hi,

I was wondering if documentation exists for Fiddler's installation exit codes. I am running silent installs on Windows 7-based VDI machines via PowerShell and I'm getting an exit code of 15 intermittently.

If anyone can pass this documentation along, or tell me what exit code 15 signifies, that would be great.
 
Thanks!
Jerry
Jerry
Top achievements
Rank 1
 answered on 27 Feb 2015
1 answer
395 views
Hi - I believe I understand how sequential replay works in Fiddler, but what I'm looking for is serial replay.  The case is that I have a single-url API request I'd like to repeat 100 (or 500, etc.) times but not start each request before the previous one's response is complete.  I've found that bulk replay (SHIFT) tends to skew the numbers if I'm testing against a specific server, as it gets busy and slows down requests in later part of bulk load...so initially requests take 100ms, say, but near end of group take many times that number.  This is good to know, but not useful for my purpose in this case.  If there is not a way to do this currently, please make it a feature request.  Thanks!
Eric Lawrence
Telerik team
 answered on 24 Feb 2015
3 answers
366 views
I want to make a c# console application for intercepting the https connection to a server and return a local xml file as responcemy code is Fiddler.FiddlerApplication.BeforeRequest += delegate(Fiddler.Session oS)
{
if (oS.url.Contains("test.com"))
{
oS.bBufferResponse = true;
oS.utilCreateResponseAndBypassServer();
}
};

Fiddler.FiddlerApplication.BeforeResponse += delegate(Fiddler.Session oS)
{
oS.utilDecodeResponse();
oS.LoadResponseFromFile("file.xml");
};
But it doesn't seem to work, I get connection error. Any ideas?
Eric Lawrence
Telerik team
 answered on 13 Feb 2015
3 answers
292 views
When there are plenty of requests to the fiddlercore, and i change fullurl to a slow https address, the follow-up requests will block,and BeforeRequest not call.
other HttpClient.SendAsync throw TaskCancelException too.

 I use ilasm open fiddlercore4.dll , find a Socket.Listen(50) in Proxy.Start method, Is the cause of the problem? I export to fiddlercore4.il and change 50 to 99999, but still problem, please help me , thank you .
Eric Lawrence
Telerik team
 answered on 13 Feb 2015
1 answer
152 views
Can I use the HtmlAgilityPack.dll by treating it as a library as mentioned in the link below ?

     http://docs.telerik.com/fiddler/Extend-Fiddler/UseDotNetInFiddlerScript

I tried following the steps in the link above, but was unable to access the library file.

Any help is appreciated.
ikas
Top achievements
Rank 1
 answered on 12 Feb 2015
2 answers
1.5K+ views
I have been using Fiddler on my PC while sending traffic to it from my phone (Android 4.4.4). I can see all non-SSL and SSL traffic from our website within Fiddler, with no issues.
When I load our mobile app, however (which is partly-native and partly a wrapper for some parts of our mobile site), many (most) non-SSL pages are causing 400's (only through Fiddler). 

Fiddler Log show these type of errors when it happens:
15:36:11:3018 [Fiddler] No HTTPS request was received from (chrome:6192) new client socket, port 58271.

In the raw requests for these it shows a simple GET to our website http://www.foo.com/ but the pages I am trying to visit are not the homepage, so I am not sure how it's munging up the requests. The actual homepage is http://m.foo.com/m/e/digital/index.jsp and those are loading fine.

Auto-Responder is disabled and I am doing no other re-writing that I can see, with the requests.
I have been able to reproduce this on multiple networks.
I cannot recreate the issue in other proxy tools.

Let me know if there is any more information I can provide which may help me get assistance
Neil
Top achievements
Rank 1
 answered on 12 Feb 2015
3 answers
418 views
Hi,

I have a web service which has a web method and expects one string parameter [eg. Method(string str)]  and this parameter is expecting to get a xml string value.
As long as I send request fidder to get the response from service on my local system eg. service running via VS2008 it works fine, However when i deploy the service in other server(TEST) fidder not able to send the request to webservice and every time end up with the below result.

Response I get after hitting the url with post method

1C
Invalid Http Request Header

0

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Cache-Control: no-cache
Transfer-Encoding: chunked

1C
Invalid Http Request Header

0

Request body

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Share_Inventory xmlns="http://tempuri.org/">
      <argInputXml>
<![CDATA[<samsung> <validate> <connect> <userid>samsungCE</userid> <password>qweasdzxc</password> </connect> </validate> <inventory> <item> <MRNAME>Reliance</MRNAME> <MDATE>20141009</MDATE> <SITECODE>Y339</SITECODE> <ARTICLEDESC>Samsung Grand2 Sview Flipcover Wht</ARTICLEDESC> <STOCK>13</STOCK> <SERIALNO /> <STORENAME>RRL Digital Whitefield Bangalo</STORENAME> <EAN>8806085955721</EAN> <ARTICLECODE>NA</ARTICLECODE> <FAMILY>LIFESTYLE</FAMILY> <STATUS>NA</STATUS> <ARTICLETYPE>NA</ARTICLETYPE> <WWCODE>NA</WWCODE> </item> <item> <MRNAME>Reliance</MRNAME> <MDATE>20130102</MDATE> <SITECODE>235</SITECODE> <ARTICLEDESC>PANEL</ARTICLEDESC> <STOCK>1</STOCK> <SERIALNO>5F5F5W5W5</SERIALNO> <STORENAME>AAA</STORENAME> <EAN>AAA</EAN> <ARTICLECODE>AAA</ARTICLECODE> <FAMILY>AAA</FAMILY> <STATUS>SS</STATUS> <ARTICLETYPE>AAA</ARTICLETYPE> <WWCODE>AAAA</WWCODE> </item> </inventory></samsung>]]>
</argInputXml>
    </Share_Inventory>
  </soap:Body>
</soap:Envelope>

Any help would be really appreciable, however if i send above request with SoapUI soft works fine.


Regards
Deepak Bisht
Eric Lawrence
Telerik team
 answered on 12 Feb 2015
1 answer
521 views
Is there any way we can make fiddler return a specific raw response to a given request.  I am trying to recreate certain use cases by forcing it to return a given response without making the actual real request.
Thanks
Eric Lawrence
Telerik team
 answered on 12 Feb 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?