用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);

 

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值