Ejemplo n.º 1
0
        public static FiddlerModificHttpRuleCollection DeserializeRuleList()
        {
            FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection = null;

            if (File.Exists("FreeHttp\\RuleData.xml"))
            {
                XmlSerializer mySerializer = new XmlSerializer(typeof(FiddlerModificHttpRuleCollection));
                FileStream    myFileStream = new FileStream("FreeHttp\\RuleData.xml", FileMode.Open);
                try
                {
                    //fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)mySerializer.Deserialize(myFileStream);
                    using (System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(myFileStream))
                    {
                        reader.Normalization             = false;
                        fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("{0}\r\n{1}", ex.Message, ex.Message, ex.InnerException == null ? "" : ex.InnerException.Message), "load user rule fail");
                    File.Copy("FreeHttp\\RuleData.xml", "FreeHttp\\RuleData.lastErrorFile", true);
                }
                finally
                {
                    myFileStream.Close();
                }
            }
            return(fiddlerModificHttpRuleCollection);
        }
Ejemplo n.º 2
0
        public static FiddlerModificHttpRuleCollection DeserializeRuleList()
        {
            string rulePath = "FreeHttp\\RuleData.xml";
            FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection = null;

            if (File.Exists(rulePath))
            {
                FileStream myFileStream = new FileStream(rulePath, FileMode.Open);
                try
                {
                    using (System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(myFileStream))
                    {
                        reader.Normalization = false;
                        //版本控制
                        string ruleVersion = string.Empty;
                        //System.Version version = new Version("2.0.0");
                        while (reader.Read())
                        {
                            if (reader.NodeType == System.Xml.XmlNodeType.Element)
                            {
                                if (reader.Name == "FiddlerModificHttpRuleCollection")
                                {
                                    ruleVersion = reader.GetAttribute("ruleVersion");
                                    break;
                                }
                            }
                        }
                        if (string.IsNullOrEmpty(ruleVersion) || ruleVersion[0] == '1')
                        {
                            File.Copy(rulePath, rulePath + ".oldVersion", true);
                            XmlSerializer mySerializer = new XmlSerializer(typeof(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection));
                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);
                        }
                        else if (ruleVersion[0] == '2')
                        {
                            XmlSerializer mySerializer = new XmlSerializer(typeof(FiddlerModificHttpRuleCollection));
                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);
                        }
                        else
                        {
                            throw new Exception("unkonw ruleVersion", new Exception("this freehttp can not analysis the rule file , you should updata your freehttp"));
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("{0}\r\n{1}\r\nyour error rule file will back up in {2}", ex.Message, ex.InnerException == null ? "" : ex.InnerException.Message, Directory.GetCurrentDirectory() + rulePath + ".lastErrorFile"), "load user rule fail");
                    _ = WebService.RemoteLogService.ReportLogAsync($"load user rule fail [{ex.ToString()}]", WebService.RemoteLogService.RemoteLogOperation.WindowLoad, WebService.RemoteLogService.RemoteLogType.Error);
                    File.Copy(rulePath, rulePath + ".lastErrorFile", true);
                }
                finally
                {
                    myFileStream.Close();
                }
            }
            return(fiddlerModificHttpRuleCollection);
        }
Ejemplo n.º 3
0
        public static FiddlerModificHttpRuleCollection DeserializeRuleList()
        {
            string rulePath = "FreeHttp\\RuleData.xml";
            FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection = null;

            if (File.Exists(rulePath))
            {
                FileStream myFileStream = new FileStream(rulePath, FileMode.Open);
                try
                {
                    using (System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(myFileStream))
                    {
                        reader.Normalization = false;
                        //版本控制
                        string ruleVersion = string.Empty;
                        //System.Version version = new Version("2.0.0");
                        while (reader.Read())
                        {
                            if (reader.NodeType == System.Xml.XmlNodeType.Element)
                            {
                                if (reader.Name == "FiddlerModificHttpRuleCollection")
                                {
                                    ruleVersion = reader.GetAttribute("ruleVersion");
                                    break;
                                }
                            }
                        }
                        if (string.IsNullOrEmpty(ruleVersion))
                        {
                            XmlSerializer mySerializer = new XmlSerializer(typeof(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection));
                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);
                        }
                        else
                        {
                            XmlSerializer mySerializer = new XmlSerializer(typeof(FiddlerModificHttpRuleCollection));
                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("{0}\r\n{1}", ex.Message, ex.Message, ex.InnerException == null ? "" : ex.InnerException.Message), "load user rule fail");
                    File.Copy(rulePath, rulePath + ".lastErrorFile", true);
                }
                finally
                {
                    myFileStream.Close();
                }
            }
            return(fiddlerModificHttpRuleCollection);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// load history rule list
 /// </summary>
 /// <param name="yourRuleCollecttion">RuleCollecttion</param>
 private void LoadFiddlerModificHttpRuleCollection(FiddlerModificHttpRuleCollection yourRuleCollecttion)
 {
     if (yourRuleCollecttion != null)
     {
         if (yourRuleCollecttion.RequestRuleList != null)
         {
             foreach (var tempRule in yourRuleCollecttion.RequestRuleList)
             {
                 //tempRule.HttpFilter = new FiddlerHttpFilter(tempRule.UriMatch);
                 AddRuleToListView(lv_requestRuleList, tempRule, false);
             }
         }
         if (yourRuleCollecttion.ResponseRuleList != null)
         {
             foreach (var tempRule in yourRuleCollecttion.ResponseRuleList)
             {
                 //tempRule.HttpFilter = new FiddlerHttpFilter(tempRule.UriMatch);
                 AddRuleToListView(lv_responseRuleList, tempRule, false);
             }
         }
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// FreeHttpWindow
 /// </summary>
 /// <param name="yourRuleCollection">the history rule</param>
 public FreeHttpWindow(FiddlerModificHttpRuleCollection yourRuleCollection, FiddlerModificSettingInfo yourModifcSettingInfo, ActuatorStaticDataCollection yourStaticDataCollection)
     : this()
 {
     fiddlerModificHttpRuleCollection = yourRuleCollection;
     ModificSettingInfo   = yourModifcSettingInfo;
     StaticDataCollection = yourStaticDataCollection;
     if (fiddlerModificHttpRuleCollection != null && StaticDataCollection != null)
     {
         foreach (var fr in fiddlerModificHttpRuleCollection.ResponseRuleList)
         {
             fr.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);
             if (fr.IsRawReplace)
             {
                 if (fr.HttpRawResponse.ParameterizationContent == null)
                 {
                     fr.HttpRawResponse.ParameterizationContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(fr.HttpRawResponse.OriginSting);
                 }
                 fr.HttpRawResponse.SetActuatorStaticDataCollection(StaticDataCollection);
             }
         }
         foreach (var fr in fiddlerModificHttpRuleCollection.RequestRuleList)
         {
             fr.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);
             if (fr.IsRawReplace)
             {
                 if (fr.HttpRawRequest.ParameterizationContent == null)
                 {
                     fr.HttpRawRequest.ParameterizationContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(fr.HttpRawRequest.OriginSting);
                 }
                 fr.HttpRawRequest.SetActuatorStaticDataCollection(StaticDataCollection);
             }
         }
     }
     if (!rawResponseEdit.SetContextMenuStrip(contextMenuStrip_AddFile))
     {
         MessageBox.Show("RawResponseEdit SetContextMenuStrip fail");
     }
 }