Exemple #1
0
        public void Bind(mshtml.HTMLDocument dom)
        {
            Clean();
            var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack());

            //TODO: diff
            SessionDocument = sess.BrowsingResponse.ResponseContent.AsFixedXML();
            String domDocStr = ("" + (dom as dynamic).documentElement.OuterHtml + "");

            DomDocument = domDocStr.AsFixedXML();
        }
        public override void Bind(mshtml.HTMLDocument dom, string content)
        {
            Clean();
            var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack());

            //TODO: diff
            SessionDocument = new HtmlNodeHierarchy(sess.BrowsingResponse.ResponseContent.AsHtmlDocument().DocumentNode);
            String domDocStr = ("" + (dom as dynamic).documentElement.OuterHtml + "");

            DomDocument = new HtmlNodeHierarchy(domDocStr.AsHtmlDocument().DocumentNode);
        }
        public void Bind(HTMLDocument dom)
        {
            var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack());

            html = sess.BrowsingResponse.ResponseContent.AsHtmlDocument();

            GeneratedCode.Clear();
            GeneratedCode.Add(GetRequestCode(sess, html));
            foreach (var codeGeneration in GetFormsCode(sess, html))
            {
                GeneratedCode.Add(codeGeneration);
            }
            foreach (var codeGeneration in GetAllSelectCode(sess, html))
            {
                GeneratedCode.Add(codeGeneration);
            }
            GeneratedCode.Add(GetAllInputCode(sess, html));
            NotifyPropertyChanged("GeneratedCode");
        }
        public void Bind(HTMLDocument dom)
        {
            Clean();
            var pageInfo = this;

            //input fields
            foreach (dynamic item in dom.all)
            {
                if (item.tagName == "INPUT")
                {
                    pageInfo.InputTags.Add(new InputTagInfo
                    {
                        TagName = item.tagName,
                        Name    = item.name,
                        Value   = item.value,
                        Type    = item.type
                    });
                    //FiddlerHelper.Log(String.Format("input '{2}' {0}={1}", item.name, item.value, item.type));
                }
                else if (item.tagName == "BUTTON")
                {
                    FiddlerHelper.Log("BUTTON:" + item);
                }
            }
            //headers
            var sess = FiddlerHelper.GetSessionsStack().First();

            foreach (HTTPHeaderItem h in sess.FiddlerSession.oResponse.headers)
            {
                pageInfo.ResponseHeaders.Add(new NameValueItem {
                    Name = h.Name, Value = h.Value
                });
            }
            foreach (HTTPHeaderItem h in sess.FiddlerSession.oRequest.headers)
            {
                pageInfo.RequestHeaders.Add(new NameValueItem {
                    Name = h.Name, Value = h.Value
                });
            }
            pageInfo.RequestType = sess.FiddlerSession.oRequest.headers.HTTPMethod;

            pageInfo.RequestUrl = sess.BrowsingResponse.ResponseUrl.ToString();


            //query string
            string query = "";

            switch (pageInfo.RequestType)
            {
            case "GET":
                var q = sess.FiddlerSession.oRequest.headers.RequestPath;
                var queryStringIndex = q.IndexOf("?");
                if (queryStringIndex >= 0)
                {
                    query = q.Substring(queryStringIndex + 1);
                }
                break;

            case "POST":
                query = sess.FiddlerSession.GetRequestBodyAsString();
                break;
            }
            var qarr = query.Split('&');

            foreach (string qq in qarr)
            {
                var q = qq.Split('=');
                if (q[0].Length > 0)
                {
                    pageInfo.QueryParams.Add(new NameValueItem {
                        Name = q[0], Value = q[1]
                    });
                }
            }
        }