csdn论坛置顶工具核心

来源:互联网 发布:虚拟机linux共享文件夹 编辑:程序博客网 时间:2024/06/05 03:42
static System::String strMoveURL = T("http://forum.csdn.net/PointForum/Manage/MoveTopic.aspx?") \T("&tid=58964619-7735-4209-8afe-f9616b9f9783") \T("&date=2012-02-02+18:06:59&fid=");void TProcPost(LPSTR pView, LPSTR pEvent, LPCTSTR SelectForumId){{String strView(pView);String::Collect(pView);pView = strView.Replace(T("+"), T("%2B")).ToMultiByte(true);}    /// <summary>    /// 创建 HttpRequest 请求对象    /// </summary>    System::Net::HttpRequest *Request = new System::Net::HttpRequest(strMoveURL + SelectForumId);    if (Request)    {        Request->Method = T("POST"); Request->ContentType = "application/x-www-form-urlencoded";          //下面这些东西可有可无        Request->UserAgent = T("CSDN Visitor/1.0");Request->Referer = strMoveURL;        Request->Accept = "text/xml,application/xml,application/xhtml+xml,text/html;*/*";          Request->Headers.Add("Accept-Charset", "iso-8859-1,utf-8;q=0.7,*;q=0.7");          Request->Headers.Add("Accept-Language", "zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5");          Request->Headers.Add("Accept-Encoding", "gzip, deflate, x-gzip, identity; q=0.9"); //设置解压缩模式Request->AutomaticDecompression = System::Net::DecompressionMethods::GZip;        //设置访问者会员信息        Request->Headers.Add("Cookie", "__message_district_code=440000; UN=rrrfff; UserName=rrrfff; ""UserInfo=y1bWgCLc8t85kfvcx0S4qF4zw5T6UKXF07rCGE5xaK711vg6X5cKE3xW1%2bhmNT5P1EWVKH30WE2dSL2o2zJNhs4HIaSKbEQQOY9Al0hLIjCO%2bPaY7b2H6Ie4ziD%2b%2fDNObOi%2f6Bqz0OS%2b9LQWySJJDLnEHn%2fO9PCXKiodCiNLfhlsk7ngWPxKz2TVB0iDTMyJwESiqLwRwsk%2b%2fxdz82F9KQ%3d%3d; ""__message_sys_msg_id=1335; __utma=17226283.1012257164.1328016595.1328167928.1328176628.26; __utmb=17226283.26.10.1328176628; __utmc=17226283; __utmz=17226283.1308167928.25.16.utmcsr=community.csdn.net|utmccn=(referral)|utmcmd=referral|utmcct=/WebNavigation/ForumContent.aspx");        //post数据System::IO::BufferedStream *postStream = new System::IO::BufferedStream();RLIB_PStreamWriteA(postStream, "__VIEWSTATE=");postStream->Write(pView, strlen(pView)); RLIB_PStreamWriteA(postStream, "&__EVENTVALIDATION=");postStream->Write(pEvent, strlen(pEvent)); RLIB_PStreamWriteA(postStream, "&ctl00%24ContentPlaceHolder1%24hf_SelectForumId=");postStream->Write(SelectForumId, strlen(SelectForumId));RLIB_PStreamWriteA(postStream, "&ctl00%24ContentPlaceHolder1%24bt_Submit=%E7%A1%AE%E5%AE%9A");//写入请求数据Request->ContentLength = postStream->Length;  Request->GetRequestStream()->Write(postStream->ObjectData, postStream->Length);delete postStream;/// <summary>        /// 获取远程服务器响应对象        /// </summary>        System::Net::HttpResponse *Response = Request->GetResponse();        if (Response)        {            if (Response->GetLastException()->Id != STATUS_SUCCESS)            {                MessageBox(NULL, Response->GetLastException()->Message, T("ERROR"), 0);            }            Response->Close();            delete Request;            return;        }        MessageBox(NULL, Request->GetLastException()->Message, T("ERROR"), 0);        delete Request;    }    return;}void TProc(){    /// <summary>    /// 创建 HttpRequest 请求对象    /// </summary>    System::Net::HttpRequest *Request = new System::Net::HttpRequest(strMoveURL + T(""));    if (Request)    {        //下面这些东西可有可无        Request->UserAgent = T("CSDN Visitor/1.0");        Request->Accept = "text/xml,application/xml,application/xhtml+xml,text/html;*/*";          Request->Headers.Add("Accept-Charset", "iso-8859-1,utf-8;q=0.7,*;q=0.7");          Request->Headers.Add("Accept-Language", "zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5");          Request->Headers.Add("Accept-Encoding", "gzip, deflate, x-gzip, identity; q=0.9"); //设置解压缩模式Request->AutomaticDecompression = System::Net::DecompressionMethods::GZip;        //设置访问者会员信息        Request->Headers.Add("Cookie", "__message_district_code=440000; UN=rrrfff; UserName=rrrfff; ""UserInfo=y1bWgCLc8t85kfvcx0S4qF4zw5T6UKXF07rCGE5xaK711vg6X5cKE3xW1%2bhmNT5P1EWVKH30WE2dSL2o2zJNhs4HIaSKbEQQOY9Al0hLIjCO%2bPaY7b2H6Ie4ziD%2b%2fDNObOi%2f6Bqz0OS%2b9LQWySJJDLnEHn%2fO9PCXKiodCiNLfhlsk7ngWPxKz2TVB0iDTMyJwESiqLwRwsk%2b%2fxdz82F9KQ%3d%3d; ""__message_sys_msg_id=1335; __utma=17226283.1612257164.1328016595.1328167928.1328176628.26; __utmb=17226283.26.10.1328176628; __utmc=17226283; __utmz=17226283.1328167928.25.16.utmcsr=community.csdn.net|utmccn=(referral)|utmcmd=referral|utmcct=/WebNavigation/ForumContent.aspx");        /// <summary>        /// 获取远程服务器响应对象        /// </summary>        System::Net::HttpResponse *Response = Request->GetResponse();        if (Response)        {            if (Response->GetLastException()->Id != STATUS_SUCCESS)            {                MessageBox(NULL, Response->GetLastException()->Message, T("ERROR"), 0);Response->Close();delete Request;return;            }LPSTR pBody = (LPSTR)Response->GetResponseStream()->ObjectData;//获取VIEWSTATELPSTR pView = strstr(pBody, "__VIEWSTATE\" value=\"") + (sizeof("__VIEWSTATE\" value=\"") - 1);size_t nView = (strstr(pView, "\" />") - pView) + 1;LPSTR strView = (LPSTR)System::String::Allocate(nView);memcpy(strView, pView, nView - 1);//获取EVENTVALIDATIONLPSTR pEvent = strstr(pView, "__EVENTVALIDATION\" value=\"") + (sizeof("__EVENTVALIDATION\" value=\"") - 1);size_t nEvent = (strstr(pEvent, "\" />") - pEvent) + 1;LPSTR strEvent = (LPSTR)System::String::Allocate(nEvent);memcpy(strEvent, pEvent, nEvent - 1);            Response->Close();            delete Request;//POST{while(true){TProcPost(strView, strEvent, T(""));TProcPost(strView, strEvent, T("17673f58-331a-4f41-a240-3ac1d698fd74"));//C++System::Threading::Thread::Sleep(10000);}}            return;        }        MessageBox(NULL, Request->GetLastException()->Message, T("ERROR"), 0);        delete Request;    }    return;}