首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

小弟我用MFC模拟登录网页,登录不成功,请大家帮小弟我看下代码错在哪里

2013-08-01 
我用MFC模拟登录网页,登录不成功,请大家帮我看下代码错在哪里这是获取到的POST包:POST /member.php?modlo

我用MFC模拟登录网页,登录不成功,请大家帮我看下代码错在哪里
这是获取到的POST包:


POST /member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1 HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*
Referer: http://club.topsage.com/
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQDownload 717; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: club.topsage.com
Content-Length: 67
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: __utmc=191887663; pgv_info=ssi=s7023552968; Hm_lpvt_ee0d63d2db0dfbf9e0d399bccbd5fce7=1375031866; __utma=191887663.1831613117.1375031859.1375031859.1375031859.1; __utmb=191887663.1.10.1375031859; __utmz=191887663.1375031859.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); tsclub_bb90_saltkey=Is0eyMnm; tsclub_bb90_lastvisit=1375028263; tsclub_bb90_sid=xEXwfN; tsclub_bb90_lastact=1375031863%09home.php%09misc; tsclub_bb90_sendmail=1; pgv_pvi=775373824; Hm_lvt_ee0d63d2db0dfbf9e0d399bccbd5fce7=1375031686

username=AndyLee123&password=zbt13579&quickforward=yes&handlekey=ls


这是获取的登录地址:

http://club.topsage.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1


我使用的账号是:
用户名:AndyLee123
密码:zbt13579

我的代码是这样写的:

CInternetSession session;
CHttpConnection *pConnection;
CHttpFile* pHttpFile;
CString data = "username=AndyLee123&password=zbt13579&quickforward=yes&handlekey=ls";
try
{
pConnection = session.GetHttpConnection("club.topsage.com",CHttpConnection::HTTP_VERB_POST,80);
pHttpFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1");
pHttpFile -> AddRequestHeaders("POST /member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1 HTTP/1.1");
pHttpFile -> AddRequestHeaders("Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*");
pHttpFile -> AddRequestHeaders("Referer: http://club.topsage.com/");


pHttpFile -> AddRequestHeaders("Accept-Language: zh-CN");
pHttpFile -> AddRequestHeaders("User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQDownload 717; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)");
pHttpFile -> AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");
pHttpFile -> AddRequestHeaders("Host: club.topsage.com");
//pHttpFile -> AddRequestHeaders("");
BOOL ret = pHttpFile -> SendRequest(NULL,0,(LPVOID)(LPCTSTR)data,data.GetLength());
if(ret)
{
DWORD dwLen = pHttpFile->GetLength();
BYTE* pBuf = new BYTE[dwLen];
pHttpFile->Read(pBuf, dwLen);

CFile file;
file.Open("c:\\1.html", CFile::modeCreate | CFile::modeWrite);
file.Write(pBuf, dwLen);
file.Close();
}
}
catch(CInternetException m_pException)
{
return ;
}
pHttpFile -> Close();
pConnection -> Close();
session.Close();



刚开始接触POST这块,不知道错哪了,请大家帮帮忙。
最好能给一个MFC的代码和一个C++ SDK的代码。
[解决办法]
pHttpFile -> AddRequestHeaders("POST /member.php? …… 这一句应该删除掉吧

可以抓取数据包 对比下

使用HTTP传输 
[解决办法]
想要代码百度一下有很多吧
[解决办法]
用抓包工具抓个包对比一下就知道问题在哪里了吧

热点排行