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); }
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); }
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); }
/// <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); } } } }
/// <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"); } }