QT https协议通信

1、qt实现http的通信,需要在pro文件中添加: QT+ = network。

2、可以查看qt支持的协议

    QNetworkAccessManager* manager = new QNetworkAccessManager;

    qDebug() << manager->supportedSchemes();  //可以查看qt支持的协议,没有https

3、若没有添加相关动态库,https协议的请求会报错:

    qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method

4、这是需要设置两个动态库:libeay32.dll和ssleay32.dll。具体步骤如下:

    第一步:在D:\Qt\Qt5.9.0\Tools\mingw530_32\opt\bin中找到这两个库,复制。

    第二步:将上面的两个动态库,拷贝到D:\Qt\Qt5.9.0\5.9\mingw53_32\bin。

    说明:如果不在对应的路径下,可以直接在qt中搜。反正是将opt\bin中的动态库,复制粘贴到mingw53_32\bin文件夹中。

5、重新运行程序,无此报错。连接成功:


说明:网上说需要加这个,试了不加也可以。如果还不行,再加上如下代码尝试。

设置request的https:

QSslConfiguration conf=request.sslConfiguration();conf.setPeerVerifyMode(QSslSocket::VerifyNone);conf.setProtocol(QSsl::TlsV1SslV3);request.setSslConfiguration(conf);

6、喜大普奔,皆大欢喜~

你可能感兴趣的:(QT https协议通信)