在使用QWebEnginePage加载网页时,您可能遇到SSL证书错误。为了忽略这些错误,您可以通过以下方法实现:

  1. 创建一个自定义的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()
  1. 在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证书验证,可能会导致安全风险,请谨慎使用。

Qt WebEngine: 忽略SSL证书错误的解决方案

原文地址: https://www.cveoy.top/t/topic/nl5u 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录