Beispiel #1
0
        void FiddlerApplication_AfterSessionComplete(Fiddler.Session oSession)
        {
            //ignoreフラグが立っていればリターン
            if (oSession.isFlagSet(Fiddler.SessionFlags.Ignored))
                return;

            string url = oSession.fullUrl;
            try
            {

                Invoke(new UpdateUI(() =>
                   {
                       if (checkBox1.Checked)
                       {
                           if (url.IndexOf("/kcs/") > 0)
                           {
                               listBox1.Items.Add(url);
                               listBox1.TopIndex = listBox1.Items.Count - listBox1.Height / listBox1.ItemHeight;
                           }

                           if (url.IndexOf("/kcsapi/") > 0)
                           {
                               if (checkBox2.Checked)
                                   sw5.Start();

                               listBox1.Items.Add(url);
                               listBox1.TopIndex = listBox1.Items.Count - listBox1.Height / listBox1.ItemHeight;

                               if (checkBox4.Checked)
                               {
                                   string str = oSession.GetResponseBodyAsString();
                                   str = str.Substring(str.IndexOf("=") + 1);
                                   var json = DynamicJson.Parse(str);
                                   string filepath = @"result.txt";
                                   string text = url + Environment.NewLine + str + Environment.NewLine + json + Environment.NewLine + Environment.NewLine;
                                   File.AppendAllText(filepath, text);
                               }

                               if (checkBox3.Checked)
                               {
                                   string str = oSession.GetResponseBodyAsString();
                                   str = str.Substring(str.IndexOf("=") + 1);
                                   var json = DynamicJson.Parse(str);
                                   textBox1.AppendText(url + Environment.NewLine + str + Environment.NewLine + Environment.NewLine);
                                   textBox2.AppendText(url + Environment.NewLine + json + Environment.NewLine + Environment.NewLine);
                               }
                           }

                       }

                   }));
                if (url.IndexOf("/kcsapi/") > 0)
                {

                    string str = oSession.GetResponseBodyAsString();
                    str = str.Substring(str.IndexOf("=") + 1);
                    var json = DynamicJson.Parse(str);
                    var Member = new Edit_Ship { Ships = Member_Ship };

                    if (url.IndexOf("/api_get_member/basic") > 0)
                        MakeBasic(json);

                    if (url.IndexOf("/api_get_member/deck_port") > 0)
                        ParseMission(json);

                    if (url.IndexOf("/api_get_member/ndock") > 0)
                        ParseDock(json);

                    if (url.IndexOf("/api_get_member/material") > 0)
                        MakeMaterial(json);

                    if (url.IndexOf("api_get_member/deck") > 0 && url.IndexOf("api_get_member/deck_port") < 0)
                    {
                        var json_deck = json.api_data;
                        ParseMission(json);
                        Invoke(new UpdateUI_JSON(UpdateDeck), json_deck);
                    }

                    if (url.IndexOf("/api_get_member/ship2") > 0)
                    {

                        var deck_data = json.api_data_deck;
                        var ship_data = json.api_data;
                        var loop = ((member_ship[])ship_data).Count();

                        KanmusuCurrent.Invoke(new UpdateUI(() =>
                        {
                            KanmusuCurrent.Text = loop.ToString();
                        }));

                        Member.Make_Member_ShipTable(ship_data);
                       // Make_Member_ShipTable(ship_data);
                        Invoke(new UpdateUI_JSON(UpdateDeck), deck_data);
                    }

                    if (url.IndexOf("/api_get_member/ship3") > 0)
                    {
                        var deck_data = json.api_data.api_deck_data;
                        var ship_data = json.api_data.api_ship_data;
                        var loop = ((member_ship[])ship_data).Count();

                        KanmusuCurrent.Invoke(new UpdateUI(() =>
                        {
                            KanmusuCurrent.Text = loop.ToString();
                        }));
                        Member.Make_Member_ShipTable(ship_data);
                       // Make_Member_ShipTable(ship_data);
                        Invoke(new UpdateUI_JSON(UpdateDeck), deck_data);
                    }

                    sw5.Stop();
                    if (checkBox2.Checked)
                    {
                        textBox3.Invoke(new UpdateUI(() =>
                        {
                            textBox3.AppendText("\"" + url + "\"" + Environment.NewLine + "Session Complete = " + sw5.Elapsed + Environment.NewLine);
                        }));
                    }
                    sw5.Reset();
                }
            }
            catch
            {
                textBox3.Invoke(new UpdateUI(() =>
                {
                    textBox3.AppendText(url + "にて例外エラー" + Environment.NewLine);
                }));
            }
        }