用Wininet以Https的post方式登录

本文介绍如何利用Wininet库以HTTPS POST方式发送登录请求,包括构建请求报文、处理响应状态码以及获取和设置cookie,从而实现网络登录。
摘要由CSDN通过智能技术生成

        整个过程大概是这样的:发送http请求报文到服务器,报文的数据体中带有账号密码;服务器接受处理后返回响应报文;根据响应报文的状态码判断登录是否成功,通过读取返回报文的首部行获取所需的信息。我这里是通过Location获取返回的cookie信息,用webBroswer登录时加载cookie即可。

大致的代码如下:

// strUrl:登录检测的地址;postData:发送的账号密码字符串(如:name==xxx&password=xxx);strCookie:获取的cookie字符串

int Login(const CString& strUrl, const CString& postData, CString& strCookie)
{

    //检测网路状态

    if (!InternetCheckConnection(strUrl, FLAG_ICC_FORCE_CONNECTION, 0))
    {
        return -1;
    }

   //加载Wininet函数

    HINTERNET hInternet = InternetOpen(_T("HTTP Request..."), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if (hInternet == NULL)
    {
        InternetCloseHandle(hInternet);
        return 0;
    }

   //解析出主机和uri地址<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值