Qt WebEngine: 忽略SSL证书错误的解决方案
在使用QWebEnginePage加载网页时,您可能遇到SSL证书错误。为了忽略这些错误,您可以通过以下方法实现:
- 创建一个自定义的QWebEngineCertificateError类,继承自QWebEngineCertificateError类,并重写ignore方法。
from PyQt5 import QtCore, QtWidgets, QtNetwork, QtWebEngineWidgets
class MyWebEngineCertificateError(QtWebEngineWidgets.QWebEngineCertificateError):
def __init__(self, error):
super().__init__(error)
def ignore(self):
self._error = QtNetwork.QSslError.NoError
self._reply.ignoreSslErrors()
- 在QWebEngineView中使用自定义的QWebEngineCertificateError类,当出现SSL证书错误时,调用ignore方法。
class MyWebEngineView(QtWebEngineWidgets.QWebEngineView):
def __init__(self, parent=None):
super().__init__(parent)
self.setPage(MyWebEnginePage(self))
class MyWebEnginePage(QtWebEngineWidgets.QWebEnginePage):
def certificateError(self, error):
cert_error = MyWebEngineCertificateError(error)
cert_error.ignore()
通过以上步骤,您可以在使用QWebEngineView加载网页时自动忽略SSL证书错误。请注意,此方法会绕过SSL证书验证,可能会导致安全风险,请谨慎使用。
原文地址: https://www.cveoy.top/t/topic/nl5u 著作权归作者所有。请勿转载和采集!