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;}