Search code examples
fiddlerfiddlercorefiddler-dev

Obtaining pictures from fiddler core


How do i obtain pictures in fiddler core.

Fiddler.FiddlerApplication.BeforeResponse += delegate (Fiddler.Session oS) {
                Console.WriteLine("{0}:HTTP {1} for {2}", oS.id, oS.responseCode, oS.fullUrl);
                oS.

                // Uncomment the following two statements to decompress/unchunk the
                // HTTP response and subsequently modify any HTTP responses to replace 
                // instances of the word "Microsoft" with "Bayden"
                //oS.utilDecodeResponse(); oS.utilReplaceInResponse("Microsoft", "Bayden");
            };

I would expect this to be in this portion under the session portion. I am trying to replicate this effect in code.

enter image description here

This piece of code is obtained from the demo code in wiki

Modified the code based on the answer and this is the output

Fiddler.FiddlerApplication.BeforeResponse += delegate (Fiddler.Session oS) {
                if ((oS.responseCode == 200) && oS.oResponse.headers.ExistsAndContains("Content-Type", "image/"))
                {
                    oS.utilDecodeResponse();
                    Console.WriteLine("writing bytes");
                    Console.WriteLine(oS.requestBodyBytes);
                    // oS.responseBodyBytes is a byte[] containing the image

                    Bitmap oBMP = new Bitmap(new MemoryStream(oS.responseBodyBytes));


                    // Now oBMP is an image object which contains the picture...
                }

URL i am refreshing on:

http://baike.baidu.com/link?url=n8LTFN1PKt2Wp_mQul4-2SAFAXQ5BD5hmxu6m7PiC56Ix7htWUtZg7YqMkzBNnmjaYZpbTGS7HG6Mw6Qss2c2qYYjrqQeAyV2lsL1MusvIe


Solution

  • What specifically do you mean by "obtain picture"? Something like this?

    if ((oS.responseCode == 200) && 
        oS.oResponse.headers.ExistsAndContains("Content-Type", "image/")) 
    {
      oS.utilDecodeResponse();
      // oS.responseBodyBytes is a byte[] containing the image
      Bitmap oBMP = new Bitmap(new MemoryStream(oS.responseBodyBytes));
      // Now oBMP is an image object which contains the picture...
    }