QT 请求https需要Openssl支持,使用SSL进行认证,所以需要对应的库文件-ssleay32.dll、libeay32.dll。
在自己电脑上搜索ssleay32.dll、libeay32.dll,拷贝到运行程序的目录下(注意区分32位和64位),并添加以下程序:
64位逇dll下载链接:https://download.csdn.net/download/sinat_35178307/11046150
m_pNetworkManager = new QNetworkAccessManager;
//每当网络应答结束时,就会触发信号
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(soltReplyFinished(QNetworkReply*)));
//添加以下代码,支持请求https
QNetworkRequest request = QNetworkRequest(QUrl(strUrl));
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
conf.setProtocol(QSsl::TlsV1SslV3);
request.setSslConfiguration(conf);
request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
QNetworkReply *reply = m_pNetworkManager->get(request);