Facebook没有加载PySide qwebview

时间:2013-04-04 09:16:17

标签: python python-3.x ssl pyside qwebview

我一直在尝试使用PySide和QWebView实现浏览器。但是浏览器不会加载www.facebook.com。我可以加载谷歌等其他https网站,所以我猜SSL工作正常。 使用http://code.google.com/p/foobrowser/或PySide附带的示例浏览器时,同样的问题仍然存在。有什么问题?

3 个答案:

答案 0 :(得分:0)

有同样的问题 - 在我的情况下,它与ssl错误有关。 处理 sslErrors 信号解决了问题:

m_view = new QWebView(parent);
connect(
  m_view->page()->networkAccessManager(),
  SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> & )),
  this, 
  SLOT(sslErrorHandler(QNetworkReply*, const QList<QSslError> & ))
);

和插槽:

void myClass::sslErrorHandler(QNetworkReply* qnr, const QList<QSslError> & errlist)
{
    qnr->ignoreSslErrors();
}

答案 1 :(得分:0)

发现POODLE漏洞后,某些网站删除了SSLv3。

我的Windows版本的PySide(1.1.1)有PySide.QtNetwork.QSsl.SslProtocol.SslV3作为默认协议。

要解决此问题,您需要更改QSslConfiguration的{​​{1}}以使用TLS。

NetworkAccessManager

https://github.com/integricho/https://github.com/integricho/path-of-a-pyqter/

的积分

答案 2 :(得分:-1)

在PySide qwebview中加载Facebook没有问题,也许这是你平台的一个问题。

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import sys
import platform
import PySide
from PySide.QtCore import QUrl
from PySide.QtGui import QApplication
from PySide.QtWebKit import QWebView

print(PySide.__version__) # output: 1.1.1
print(PySide.QtCore.__version__) # output: 4.8.3
print(platform.platform()) # output: Linux-3.5.0-36-generic-x86_64-with-Ubuntu-12.10-quantal

app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("https://www.facebook.com"))
web.show()
sys.exit(app.exec_())

HTH