请问用wininet提交POST表单不成功的有关问题
请教用wininet提交POST表单不成功的问题?
最近在学习Wininet,结果冒出来很多奇怪的问题,比如像这个,不管怎么POST都无法成功,特地来请教各位达人:
环境:
在下在本机使用Apache2.5.10+PHP+MYSQL架设了一个服务器环境(WindowsXP),然后安装了最新版本的Discuz论坛,局域网环境下安装和调试貌似正常,可以任意访问注册使用等。
报文:
我用ieHTTPHeaders2.0抓取了Discuz点击注册时的报文,然后编写如下:
发送部分:
最近在学习Wininet,结果冒出来很多奇怪的问题,比如像这个,不管怎么POST都无法成功,特地来请教各位达人:
环境:
在下在本机使用Apache2.5.10+PHP+MYSQL架设了一个服务器环境(WindowsXP),然后安装了最新版本的Discuz论坛,局域网环境下安装和调试貌似正常,可以任意访问注册使用等。
报文:
我用ieHTTPHeaders2.0抓取了Discuz点击注册时的报文,然后编写如下:
- C/C++ code
CString TempHead; TempHead += "POST /member.php?mod=register&inajax=1 HTTP/1.1\r\n"; TempHead += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n"; TempHead += "Referer: http://127.0.0.1/member.php?mod=register\r\n"; TempHead += "Accept-Language: zh-cn\r\n"; TempHead += "Content-Type: multipart/form-data; boundary=---------------------------7da9c24180124\r\n"; TempHead += "UA-CPU: x86\r\n"; TempHead += "Accept-Encoding: gzip, deflate\r\n"; TempHead += "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)\r\n"; TempHead += "Host: 127.0.0.1\r\n"; TempHead += "Content-Length: 879\r\n"; TempHead += "Connection: Keep-Alive\r\n"; TempHead += "Cache-Control: no-cache\r\n"; TempHead += "Cookie: zkzD_2132_sid=41Ymwi; zkzD_2132_lastvisit=1289185316; zkzD_2132_lastact=1289188945%09forum.php%09ajax; zkzD_2132_onlineusernum=2; zkzD_2132_sendmail=1\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='regsubmit'\r\n"; TempHead += "yes\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='formhash'\r\n"; TempHead += "5968679d\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='referer'\r\n"; TempHead += "http://127.0.0.1/\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='activationauth'\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='username'\r\n"; TempHead += "fuck04\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='password'\r\n"; TempHead += "123456\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='password2'\r\n"; TempHead += "123456\r\n"; TempHead += "-----------------------------7da9c24180124\r\n"; TempHead += "Content-Disposition: form-data; name='email'\r\n"; TempHead += "1@1.com\r\n"; TempHead += "-----------------------------7da9c24180124--\r\n";
发送部分:
- C/C++ code
wPort = 80; m_httpConnection = m_inernetSession.GetHttpConnection("127.0.0.1", wPort); m_httpfile = m_httpConnection->OpenRequest(m_httpConnection->HTTP_VERB_POST, "/member.php?mod=register"); if (NULL == m_httpfile) { return; } m_httpfile->AddRequestHeaders(TempHead); bool SendRes = m_httpfile->SendRequest(); if (false == SendRes) { Say("SendRequest Error"); return; } else { m_Sended = true; } DWORD Ret = 0; m_httpfile->QueryInfoStatusCode(Ret); //400-499 Request Error //500-599 Sever Error char Temp[100]; sprintf(Temp, "The Request Status is %ld", Ret); Say(Temp);