示例#1
0
        /// <summary>
        /// 发送文章
        /// </summary>
        /// <param name="mlistPost"></param>
        /// <param name="mClassList"></param>
        /// <returns></returns>
        public void Publish_PostData(ModelGatherItem mlistPost, ModelClassItem mClassList)
        {
            //登陆
            if (string.IsNullOrEmpty(cookieHeader))
            {
                Publish_Login();
            }
            Load_RandomList("内容");
            string postData = Publish_Model.ContentPostData;

            postData = ReplacePostData(postData);
            postData = postData.Replace("[标题]", mlistPost.Title);
            postData = postData.Replace("[内容]", System.Web.HttpUtility.UrlEncode(mlistPost.Content));
            //替换分类
            postData = postData.Replace("[分类ID]", mClassList.ClassID);
            postData = postData.Replace("[分类名称]", mClassList.ClassName);
            string htmlContent = SimulationHelper.PostPage(StrLoginDir + Publish_Model.ContentUrl,
                                                           postData,
                                                           StrLoginDir + Publish_Model.ContentRefUrl,
                                                           Publish_Model.PageEncode,
                                                           ref cookieHeader);

            string[] errorResult = Publish_Model.ContentErrorResult.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string str in errorResult)
            {
                if (htmlContent.IndexOf(str) > -1)
                {
                    if (Out != null)
                    {
                        Out(this, PublishType.PostDataOver, false, "文章发布失败!", mlistPost);
                    }
                    break;
                }
            }
            if (!string.IsNullOrEmpty(Publish_Model.ContentSuccessResult))
            {
                if (htmlContent.IndexOf(Publish_Model.ContentSuccessResult) > -1)
                {
                    if (Out != null)
                    {
                        Out(this, PublishType.PostDataOver, true, "文章发布成功!", mlistPost);
                    }
                }
                else
                {
                    if (Out != null)
                    {
                        Out(this, PublishType.PostDataOver, false, "文章发布失败!", mlistPost);
                    }
                }
            }
            else
            {
                if (Out != null)
                {
                    Out(this, PublishType.PostDataOver, true, "文章发布成功!", mlistPost);
                }
            }
        }
示例#2
0
        /// <summary>
        /// 获取分类
        /// </summary>
        /// <returns></returns>
        public void Publish_GetClassList()
        {
            //登陆
            if (string.IsNullOrEmpty(cookieHeader))
            {
                Publish_Login();
            }
            string postData    = string.Empty;
            string htmlContent = SimulationHelper.PostPage(StrLoginDir + Publish_Model.ListUrl,
                                                           postData,
                                                           StrLoginDir + Publish_Model.ListUrl,
                                                           Publish_Model.PageEncode,
                                                           ref cookieHeader);

            string regexClassID = HtmlHelper.Instance.ParseCollectionStrings(Publish_Model.ListClassIDNameRegex);

            regexClassID = regexClassID.Replace("\\[参数:分类ID]", "([\\S\\s]*?)");
            regexClassID = regexClassID.Replace("\\[参数:分类名称]", ".+?");
            string[] ArrayClassID = CollectionHelper.Instance.CutStr(htmlContent, regexClassID);

            string regexClassName = HtmlHelper.Instance.ParseCollectionStrings(Publish_Model.ListClassIDNameRegex);

            regexClassName = regexClassName.Replace("\\[参数:分类ID]", ".+?");
            regexClassName = regexClassName.Replace("\\[参数:分类名称]", "([\\S\\s]*?)");
            string[] ArrayClassName = CollectionHelper.Instance.CutStr(htmlContent, regexClassName);

            List <ModelClassItem> dicClassList = new List <ModelClassItem>();

            for (int i = 0; i < ArrayClassID.Length; i++)
            {
                string         ClassID   = ArrayClassID[i];
                string         ClassName = ArrayClassName[i];
                ModelClassItem m         = new ModelClassItem();
                m.ClassID   = ClassID;
                m.ClassName = ClassName;
                dicClassList.Add(m);
            }

            if (Out != null)
            {
                Out(this, PublishType.GetClassListOver, true, "获取分类列表成功!", dicClassList);
            }
        }