コード例 #1
0
        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);
        }
コード例 #2
0
 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;
         }
     }
 }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
ファイル: SettingXmlHandle.cs プロジェクト: GHubgenius/Altman
 /// <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;
 }
コード例 #5
0
 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();
 }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: SettingXmlHandle.cs プロジェクト: kevins1022/Altman
        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;
        }