2013-02-13 75 views
1

我有一个问题显示www.facebook.comQt5 QML QWebKit 3.0如何忽略Qt5 QML QWebKit 3.0中的SSL错误?

问题出在SSL证书Qt 4.*有一个解决方案,但我需要在所有API已更改的Qt 5.0.1中执行此操作。

Qt 4.*示例解决方案可以在这里找到link

+0

你肯定“所有的API改变了“的一部分?当将QML1转换为QML2时,大部分API都会重新命名。例如,你有QQmlNetworkAccessManagerFactory和QQmlEngine :: setNetworkAccessManagerFactory方法。另一个故事是,在那里使用的QNetworkAccessManager是否被WebKit使用。 – peppe 2013-02-14 16:53:00

+0

是的,我是。无论如何,我找到了解决方案。我试过解决方案,你在谈论 - 它没有帮助我。另一种方式 - 由于QML WebView中的重要更改,因此无法在新QWebKit 3.0中使用ignoreSSLError。 – 2013-02-14 22:47:08

回答

1

这里是解决方案,你怎么可以从QML在QT5忽略SSL错误。它帮助我显示Facebook页面。我将使用实验性API。该解决方案适用于Windows 7 64bit中的Qt 5.0.1 msvc2010版本。

import QtWebKit 3.0 
import QtWebKit.experimental 1.0 

WebView { 
    id: webView; 
    url: "https://www.facebook.com"; 
    experimental.certificateVerificationDialog: Item { 
     Component.onCompleted: { 
      model.accept(); 
     } 
    } 
} 
0

我无法用Qt 5.1和MinGW4.8使用实验性功能来解决这个问题。

最后,我安装了新的Qt 5.2版本具有更多的表现错误消息:

QSslSocket: cannot call unresolved function SSLv23_client_method 
QSslSocket: cannot call unresolved function SSL_CTX_new 
QSslSocket: cannot call unresolved function SSL_library_init 
QSslSocket: cannot call unresolved function ERR_get_error 
QSslSocket: cannot call unresolved function ERR_get_error 
与溶液中安装Win32OpenSSL这一新的信息

所以:http://slproweb.com/products/Win32OpenSSL.html

+0

我有类似的警告,原因是我的电脑上的SSL版本过时了,但是当我更新它时,所有这些警告消失了。 – 2015-05-19 09:13:14