2010-06-21 12 views
0

Je peux parcourir des sites non protégés, mais en essayant d'ouvrir un « https » un résultat dans ces messages:do PyQt4.QtWebKit.QWebView sur Windows7-64bit fonctionne avec les sites SSL?

QSslSocket: cannot call unresolved function SSLv3_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_error_string 

Après cela, quelque chose dans le gel qt. Mes installations Windows QT/PyQT proviennent des packages standard de Riverbank. Une idée?

Répondre

1

J'ai trouvé une solution de travail dans le riverbank mailing list archive: ignorer toutes les erreurs ssl:

[...] 
    self.connect(myWebViewControl.page().networkAccessManager(), 
     SIGNAL("sslErrors (QNetworkReply *, const QList<QSslError> &)"), 
     self.sslErrorHandler) 

def sslErrorHandler(self, reply, errorList): 
    reply.ignoreSslErrors() 
    print("SSL error ignored") 

MISE À JOUR: Je ne sais pas pourquoi, mais après quelques semaines, je suis arrivé à nouveau ces erreurs ssl, btw je pense cette fois, je trouve la bonne solution dans this post: Je suis le "OpenSSL Win32 v1.0.0a" configuration de here et, sur demande, le "Microsoft Visual C++ 2008 Redistributable package (x86)" de here, et ils résolu mes problèmes.

+0

Pouvez-vous donner un peu plus de détails à cet exemple? De quel genre de classe parle le «soi»? Pourriez-vous donner un exemple de travail complet? –

+0

bien, "self" est juste un QDialog sur lequel j'ai placé le contrôle webview, et après avoir connecté le signal, j'appelle simplement un myWebViewControl.load(). la cible est l'URL d'autorisation du graphe facebook (https://graph.facebook.com/oauth/authorize?lot_of_params). si je commente l'appel de reply.ignoreSslErrors(), le webview échoue, sinon cela fonctionne. –