QT中支持https连接

    处理说明:先进行相应的设置,注意与http不同的是,要设置相应的端口和conf.setProtocol(QSsl::SslV3);

    /并且要进行出错处理(在网页上连接时,会提示不可靠连接或不受信任的连接, 此时选择忽略并继续)


   /以下为主干的处理  begin

   QNetworkAccessManager *networkMng; //连接

    QNetworkReply *reply; //网络相应的回应


connect(networkMng,SIGNAL(sslErrors(QNetworkReply * , const QList<QSslError> & )),
this,SLOT(slotSSLErrorDeal(QNetworkReply * , const QList<QSslError> & )));


QUrl urlTemp(m_serverURL);
urlTemp.setPort(iHttpsPort); 此处设置该端口号


QNetworkRequest requestTemp(urlTemp);
requestTemp.setHeader(QNetworkRequest::ContentTypeHeader, "application/zip");
requestTemp.setRawHeader("filename", logFile.toUtf8() );

QSslConfiguration conf = requestTemp.sslConfiguration();
conf.setProtocol(QSsl::SslV3);
requestTemp.setSslConfiguration(conf);


reply = mp_networkMng->post(requestTemp, l_content);


       connect(reply,SIGNAL(finished()),
        this,SLOT(slotUploadLogFinished()));

    //等待上传
    int waitCount = 1;
    while(waitCount)
    {
        Sleep(10000);
        waitCount--;
    }

   /end

 ///以下为出错的处理. begin

void CMyclass::slotSSLErrorDeal(QNetworkReply * reply, const QList<QSslError> & errors)
{

QList<QSslError>::const_iterator conit = errors.begin();
while(conit != errors.end())
{
QString sTemp =  (*conit).errorString();
writeTestDebugLog(sTemp);  ///打印错误日志
qDebug()<< (*conit).errorString();
++conit;
}
reply->ignoreSslErrors();

return;
}

 ///end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值