Qt QNetworlAcessManager中的ssl实现示例

Qt QNetworlAcessManager中的ssl实现示例,qt,openssl,Qt,Openssl,是否有任何示例显示使用OpenSSL的QNetworkAccessManager?文章的代码片段或链接 是否有任何示例显示QNetworkAccessManager使用OpenSSL?这个 代码片段还是文章的链接 这个问题的答案分为两部分: 1) 一般使用SSL 2) 基于Qt的程序与OpenSSL的链接 第一个问题的答案可能是这样的。关于stackoverflow有很多答案,只是没有视频中提到的QNetworkAccessManager那么系统。另外,我喜欢这个线程:。确保使用QNetwork

是否有任何示例显示使用
OpenSSL
QNetworkAccessManager
?文章的代码片段或链接

是否有任何示例显示QNetworkAccessManager使用OpenSSL?这个 代码片段还是文章的链接

这个问题的答案分为两部分:

1) 一般使用SSL

2) 基于Qt的程序与OpenSSL的链接

第一个问题的答案可能是这样的。关于stackoverflow有很多答案,只是没有视频中提到的
QNetworkAccessManager
那么系统。另外,我喜欢这个线程:。确保使用
QNetworkAccessManager
post
get
方法发送请求

第二个问题的答案可以是:

我通常会这样做:

// connect 'finished' signal with consumer
connect(&m_networkAccessManager, SIGNAL(finished(QNetworkReply*)),
        this, SLOT(requestFinished(QNetworkReply*)));

// prepare request and that URL starts with https:// 
QNetworkRequest rqst(QUrl(jsonUser->url()));
QByteArray postData = myJsonDocument().toJson(QJsonDocument::Compact);
rqst.setRawHeader("Content-Type", "application/json");
auto strSize = QByteArray().append(QString::number(postData.size()));
rqst.setRawHeader("Content-Length", strSize);


// send the request out using HTTPS Post
QNetworkReply* pNetworkReply = m_networkAccessManager.post(rqst, postData);

 // connect 'SSL errors' signal with consumer
connect(pNetworkReply, SIGNAL(sslErrors(const QList<QSslError> &)),
        this, SLOT(onSSLError(const QList<QSslError> &)));
//将“完成”信号连接到耗电元件
连接(&m_networkAccessManager,信号(已完成(QNetworkReply*)),
此插槽(requestFinished(QNetworkReply*));
//准备请求,URL以https://开头
QNetworkRequest rqst(QUrl(jsonUser->url());
QByteArray postData=myJsonDocument().toJson(QJsonDocument::Compact);
rqst.setRawHeader(“内容类型”、“应用程序/json”);
auto strize=QByteArray().append(QString::number(postData.size());
rqst.setRawHeader(“内容长度”,标准化);
//使用HTTPS Post发送请求
QNetworkReply*pNetworkReply=m_networkAccessManager.post(rqst,postData);
//将“SSL错误”信号与使用者连接
连接(pNetworkReply,信号(sslErrors(const-QList&)),
这个插槽(onsserror(constqlist&));

数据通过插槽
void MyClass::requestFinished(QNetworkReply*)
接收。处理SSL错误至关重要,最常见的错误是客户端系统上的证书丢失/错误。当然,上述所有内容不一定都包含在一个函数中,而是表示与流相关的函数的片段。

欢迎使用SO!在提问之前,请做一些基础研究(谷歌搜索,搜索以前的答案)。如果你已经这样做了,至少让我们知道,通过链接到以前的问题,似乎相似,但没有帮助,等等。你可以使你的问题越窄,越好。可能重复的Hi,我做了谷歌搜索,但没有找到适合我的例子。原因可能是我不清楚如何在Qt中链接openssl,以及如何在QNetworkAccessMAnager中使用通用ssl。谢谢你提供的链接。我希望这对我有帮助。嗨,亚历山大,谢谢你的视频链接。它帮助了我很多,也帮助了你给出的示例代码。我将尝试在我的程序中实现它,并会让您知道。