public Setting.Setting.UserAgentStruct SaveUserAgnetSetting() { Setting.Setting.UserAgentStruct userAgent = new Setting.Setting.UserAgentStruct(); userAgent.UserAgentList = new Dictionary <string, string>(); //获取随机化开关 userAgent.IsRandom = checkBox_IsRandom.Checked; //获取选中项 int index = comboBox_UserAgentList.SelectedIndex; if (index == -1) { userAgent.Selected = new KeyValuePair <string, string>("Custom", comboBox_UserAgentList.Text); } else { KeyValuePair <string, string> item = (KeyValuePair <string, string>)comboBox_UserAgentList.SelectedItem; userAgent.Selected = item; //MessageBox.Show(item.Key); } //获取所有列表 userAgent.UserAgentList.Add("Custom", comboBox_UserAgentList.Text);//必须将custom添加进去 foreach (var i in comboBox_UserAgentList.Items) { KeyValuePair <string, string> item = (KeyValuePair <string, string>)i; if (!userAgent.UserAgentList.ContainsKey(item.Key)) { userAgent.UserAgentList.Add(item.Key, item.Value); } } return(userAgent); }
public void LoadUserAgnetSetting(Setting.Setting.UserAgentStruct userAgent) { checkBox_IsRandom.Checked = userAgent.IsRandom; foreach (var i in userAgent.UserAgentList) { //不显示Custom值 if (i.Key == "Custom") { continue; } comboBox_UserAgentList.Items.Add(i); } //显示选中项 if (userAgent.Selected.Key == "Custom") { //作为自定义内容显示在comboBox_UserAgentList.Text comboBox_UserAgentList.Text = userAgent.Selected.Value; } else { //从现有的items中选择 foreach (object i in comboBox_UserAgentList.Items) { if (((KeyValuePair <string, string>)i).Key == userAgent.Selected.Key) { comboBox_UserAgentList.SelectedItem = i; } break; } } }
/// <summary> /// 读xml文件 /// </summary> public static Setting.Setting ReadXml(string fileName, string basePathDir) { string filePath = basePathDir + fileName; Setting.Setting.BasicStruct basic = new Setting.Setting.BasicStruct(); Setting.Setting.UserAgentStruct userAgent = new Setting.Setting.UserAgentStruct(); Setting.Setting.HttpHeaderStruct httpHeader = new Setting.Setting.HttpHeaderStruct(); Setting.Setting.PolicyStruct policy = new Setting.Setting.PolicyStruct(); Setting.Setting.ProxyStruct proxy = new Setting.Setting.ProxyStruct(); try { //Setting setting = new Setting(); XmlDocument xml = new XmlDocument(); //初始化一个xml实例 xml.Load(filePath); //导入指定xml文件 XmlNode root = xml.SelectSingleNode("/AltmanSetting"); //指定一个节点 XmlNodeList childlist = root.ChildNodes; //获取节点下所有直接子节点 foreach (XmlNode child in childlist) { if (child.Name == "Basic") { basic = ReadBasicNode(child); } else if (child.Name == "UserAgent") { userAgent = ReadUserAgentNode(child); } else if (child.Name == "HttpHeader") { httpHeader = ReadHttpHeaderNode(child); } else if (child.Name == "Policy") { policy = ReadPolicyNode(child); } else if (child.Name == "Proxy") { proxy = ReadProxyNode(child); } } Setting.Setting setting = new Setting.Setting(basic, userAgent, httpHeader, policy, proxy); return(setting); } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 读xml文件 /// </summary> public static Setting.Setting ReadXml(string fileName, string basePathDir) { string filePath = basePathDir + fileName; Setting.Setting.UserAgentStruct userAgent=new Setting.Setting.UserAgentStruct(); Setting.Setting.HttpHeaderStruct httpHeader=new Setting.Setting.HttpHeaderStruct(); Setting.Setting.PolicyStruct policy=new Setting.Setting.PolicyStruct(); Setting.Setting.ProxyStruct proxy=new Setting.Setting.ProxyStruct(); try { //Setting setting = new Setting(); XmlDocument xml = new XmlDocument(); //初始化一个xml实例 xml.Load(filePath); //导入指定xml文件 XmlNode root = xml.SelectSingleNode("/AltmanSetting"); //指定一个节点 XmlNodeList childlist = root.ChildNodes; //获取节点下所有直接子节点 foreach (XmlNode child in childlist) { if (child.Name == "UserAgent") { userAgent = ReadUserAgentNode(child); } else if (child.Name == "HttpHeader") { httpHeader = ReadHttpHeaderNode(child); } else if (child.Name == "Policy") { policy = ReadPolicyNode(child); } else if (child.Name == "Proxy") { proxy = ReadProxyNode(child); } } Setting.Setting setting = new Setting.Setting(userAgent, httpHeader,policy,proxy); return setting; } catch (Exception ex) { throw new Exception(ex.Message); } return null; }
private void SaveAllSetting() { Setting.Setting.UserAgentStruct userAgent = new Setting.Setting.UserAgentStruct(); Setting.Setting.HttpHeaderStruct httpHeader = new Setting.Setting.HttpHeaderStruct(); Setting.Setting.PolicyStruct policy = new Setting.Setting.PolicyStruct(); Setting.Setting.ProxyStruct proxy = new Setting.Setting.ProxyStruct(); //生成userAgent userAgent = _saveUserAgentSetting(); //生成httpHeader httpHeader = _saveHttpHeaderSetting(); //生成policy policy = _savePolicySetting(); //生成proxy proxy = _saveProxySetting(); //生成Setting Setting.Setting setting = new Setting.Setting(userAgent, httpHeader, policy, proxy); //保存Setting到xml InitWorker.SaveSettingToXml(setting); //重新初始化GlobalSetting InitWorker.InitGlobalSetting(); }
private static Setting.Setting.UserAgentStruct ReadUserAgentNode(XmlNode child) { //初始化一下userAgent Setting.Setting.UserAgentStruct userAgent = new Setting.Setting.UserAgentStruct(); userAgent.Selected = new KeyValuePair <string, string>(); userAgent.UserAgentList = new Dictionary <string, string>(); foreach (XmlNode c in child.ChildNodes) { if (c.Name == "type") { userAgent.IsRandom = DataConvert.StrToBool(c.InnerText); } else if (c.Name == "option") { //判断name属性是否存在 if (c.Attributes["name"] == null) { continue; } string name = c.Attributes["name"].Value; string value = c.InnerText; if (!string.IsNullOrWhiteSpace(name) && !userAgent.UserAgentList.ContainsKey(name)) { userAgent.UserAgentList.Add(name, value); //判断selected属性是否存在 if (c.Attributes["selected"] == null) { continue; } if (DataConvert.StrToBool(c.Attributes["selected"].Value)) { userAgent.Selected = new KeyValuePair <string, string>(name, value); } } } } return(userAgent); }
private static Setting.Setting.UserAgentStruct ReadUserAgentNode(XmlNode child) { //初始化一下userAgent Setting.Setting.UserAgentStruct userAgent = new Setting.Setting.UserAgentStruct(); userAgent.Selected = new KeyValuePair<string, string>(); userAgent.UserAgentList = new Dictionary<string, string>(); foreach (XmlNode c in child.ChildNodes) { if (c.Name == "type") { userAgent.IsRandom = DataConvert.StrToBool(c.InnerText); } else if (c.Name == "option") { //判断name属性是否存在 if(c.Attributes["name"]==null) continue; string name = c.Attributes["name"].Value; string value = c.InnerText; if (!string.IsNullOrWhiteSpace(name) && !userAgent.UserAgentList.ContainsKey(name)) { userAgent.UserAgentList.Add(name, value); //判断selected属性是否存在 if (c.Attributes["selected"] == null) continue; if (DataConvert.StrToBool(c.Attributes["selected"].Value)) { userAgent.Selected = new KeyValuePair<string, string>(name, value); } } } } return userAgent; }