WinInet API解决思路

WinInet API
学习一下WinInet API来实现表单提交,以开心网为测试,代码如下
UpdateData(true);
CString strHeaders =_T("Content-Type: application/x-www-form-urlencoded");
  CString strFormData = _T("email=");
strFormData+=m_username;
strFormData+=_T("&password=");
strFormData+=m_password;
  CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection(_T("kaixin001.com"));
  CHttpFile* pFile =pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,_T("home"));

  BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
为何登陆不了,请高手指点

------解决方案--------------------
C/C++ code

CInternetSession* m_pSession;
CHttpConnection* m_pCon;
m_pCon = m_pSession->GetHttpConnection(HTTP_SERVER, 0, HTTP_SERVER_PORT);
if (m_pCon != NULL)
{
        CHttpFile* pFile = NULL;
    try
         {
        pFile = m_pCon->OpenRequest(CHttpConnection::HTTP_VERB_GET, 
                lpszCommand, lpszRefer);
        if (pFile != NULL)
        {
            pFile->AddRequestHeaders(ACCEPT_TYPE);
            pFile->AddRequestHeaders(ACCEPT_LANGUAGE);
            pFile->AddRequestHeaders(ACCEPT_ENCODING);
            pFile->AddRequestHeaders(CONNECTION_TYPE);
            pFile->SendRequest();
            DWORD dwStatusCode = 0;
            pFile->QueryInfoStatusCode(dwStatusCode);
            if (dwStatusCode != 200)
            {
                pFile->Close();
                delete pFile;
            }
        }
        }
    catch (CInternetException *pEx)
    {
        CString szError;
        pEx->GetErrorMessage(szError.GetBuffer(MAX_PATH), MAX_PATH);
        szError.ReleaseBuffer();
        TRACE("SendRequest exception. Error message : %s\n", szError);
        pEx->Delete();
    }
}

------解决方案--------------------
这种问题的解决方法最好是抓包,从浏览器上登录一次,看下数据包,和你程序发出和接收的数据包或者HTTP Request做对比,看看少了什么或者多了什么。
------解决方案--------------------
winnet API 超时设置有问题
^_^

所有设置一个等待线程