我希望能够在SSL模式下读取从网页发回的标题。然而,我的Qt应用程序无法访问网页,因为它是在SSL模式下我正在收集?在我的应用程序中,使用此连接可以在SSL中进行正常的网页浏览:
connect(view->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> & )),
this, SLOT(onSslErrors(QNetworkReply*, const QList<QSslError> & )));
这抑制了get视图中的SSL错误,但我有一个单独的函数,它使用以下方法获取标题:
//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错误?
发布于 2013-01-11 20:06:52
您需要将QNAM对象信号sslErrors(QNetworkReply *, QList<QSslError>)
连接到设置QNetworkReply::ignoreSslErrors()
的插槽,这将允许QNAM继续运行。Qt Docs on it。
https://stackoverflow.com/questions/14277694
复制相似问题