您的位置:首页 > 理论基础 > 计算机网络

用CInternetSession实现HTTP POST登录

2016-04-30 23:42 519 查看
最近,在编码时发现,原来使用第三方类库实现的HTTP登录验证对Session的处理不是很理想,于是在网上搜集了一些资料,尝试用CInternetSession实现HTTP POST登录验证,代码如下:

 

        CString   strResultStr;

        CInternetSession   session;  

        CHttpConnection   *pConnection;  

        CHttpFile   *pFile; 

        BOOL   retFlag; 

        CString strUserName = "jackongxp@163.com";

        CString strPassword = "666666";

 

        //与服务器建立连接 

        pConnection   =   session.GetHttpConnection( "www.XXXXX.com" );     

        CString   strHeaders,   tempStr;  

        strHeaders   =   _T("Content-Type:   application/x-www-form-urlencoded"); 

 

        //登录页面为 www.XXXXX.com/Client/Login.aspx

        pFile=pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,    "/Client/Login.aspx?");

        CString strUserinfo;

        //在登录页面中主要有两个输入控件,为TextBoxUserName、TextBoxPassword,分别输入用户名和密码

        strUserinfo.Format( "TextBoxUserName=%s&TextBoxPassword=%s", strUserName, strPassword );   

        BOOL result   =   pFile->SendRequest(  

            strHeaders,  

            (LPVOID)(LPCTSTR)strUserinfo,   strUserinfo.GetLength() );

 

        //将登录验证后服务器返回的信息放入strResultStr中

        do  

        {  

            pFile->SetReadBufferSize(10*1024);  

            retFlag   =   pFile->ReadString(tempStr);  

            strResultStr +=   tempStr   +   "/n";  

        }while(retFlag   !=   FALSE);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: