c++ - 抑制 SSL 错误

标签 c++ qt qtwebkit

我希望能够读取从 SSL 模式的网页发回的 header 。但是,我的 Qt 应用程序无法访问该网页,因为它处于我收集的 SSL 模式?使用此连接在我的应用程序中可以在 SSL 中进行正常的 webview 浏览:

connect(view->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> & )),
                        this, SLOT(onSslErrors(QNetworkReply*, const QList<QSslError> & )));

这会抑制 web View 中的 SSL 错误,但我有一个单独的函数,它使用此方法获取 header :

//Send a request to validate URL
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkRequest request;
request.setUrl(QUrl(text));
request.setRawHeader("User-Agent", "MyApp1.0");
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
                  QNetworkReply *reply = manager->get(request);
QEventLoop loop;
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();

qDebug() << "QLoop: " << reply->rawHeader("My-Application");
  if(reply->rawHeader("My-Application") == "1"){
      appUrl = text;
  }

我需要这种方法,因为在应用程序使用 webview->load(QURL(appUrl )) 连接到它之前,我在其中设置了一个包含我们的 webapps URL 的配置文件。只是不确定如何使用 QNetworkAccessManager 抑制/处理 SSL 错误?

最佳答案

您需要连接您的 QNAM 对象信号 sslErrors(QNetworkReply *, QList<QSslError>)到您设置 QNetworkReply::ignoreSslErrors() 的位置这将允许 QNAM 继续运行。 Qt Docs on it .

关于c++ - 抑制 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277694/

相关文章:

c++ - 访问嵌套结构的数据成员并将结构传递给函数 C++

c++ - 如何以简单有效的方式比较 vector ?

linux - Ubuntu QT 安装qt quick controls 2.1

c++ - QTableView clearSelection 失败,出现 ASSERT : "!isEmpty()" in file/usr/include/qt4/QtCore/qlist. h,第 282 行

python - 代理背后的 PyQt + QtWebkit

python - PySide-QtWebKit : CSS font-family has no effect

C++ 我可以使用什么代替 sleep() 函数?

c++ - 连接错误 : Invalid argument at sockets

html - 如何用QT解析HTML文件?

django - 使用 pyqt webkit 将 Django 应用程序转换为桌面应用程序