用CInternetSession实现HTTP POST登录

本文介绍如何使用 CInternetSession 类实现 HTTP POST 登录验证,包括与服务器建立连接、设置请求头、发送登录信息及读取响应等关键步骤。

   最近,在编码时发现,原来使用第三方类库实现的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);

 

 

 

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值