C++使用windows API实现https站点的访问

        以前,研究了一段时间的openssl,于是使用openssl实现了https站点的访问。后来发现,其实使用windows API也可以实现https站点的访问。关键就是设置一些标识符。关键代码如下:

m_hSession = InternetOpen(
            _T("Microsoft Internet Explorer"),
            INTERNET_OPEN_TYPE_PRECONFIG,
            NULL,
            NULL,
            0
        );
m_hConnection = InternetConnect(
        m_hSession,
        lpHostName,//指定要连接的主机
        INTERNET_DEFAULT_HTTPS_PORT,//指定https端口,默认端口为443
        NULL,
        NULL,
        INTERNET_SERVICE_HTTP,
        0,
        0
    );
dwHttpOpenRequestFlags =
        //flags common to open functions
        INTERNET_FLAG_RELOAD |
        //flags
        //INTERNET_FLAG_ASYNC |
        //additional cache flags
        //INTERNET_FLAG_DONT_CACHE |
        //additional flags
        INTERNET_FLAG_SECURE |//启用ssl模式
        INTERNET_FLAG_KEEP_CONNECTION |
        INTERNET_FLAG_NO_AUTO_REDIRECT |
        INTERNET_FLAG_READ_PREFETCH |
        INTERNET_FLAG_NO_COOKIES |
        INTERNET_FLAG_NO_AUTH |
        INTERNET_FLAG_RESTRICTED_ZONE |
        INTERNET_FLAG_CACHE_IF_NET_FAIL |
        //ssl ignore flags
        INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP |//忽略ssl模式下的https->http跳转
        INTERNET_FLAG_IGNORE_CERT_CN_INVALID |//忽略ssl模式下的证书名称错误
        //more cache flags
        INTERNET_FLAG_NO_UI |
        0;
m_hRequest = HttpOpenRequest(
        m_hConnection,
        _T("GET"),//指定动作,GET或者POST
        reqObj,//指定要请求的uri
        HTTP_VERSION,
        NULL,
        NULL,
        dwHttpOpenRequestFlags,
        0
    );

在使用了上述配置之后,就跟http站点一样操作就可以了。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值