【发布时间】:2018-10-24 13:39:59
【问题描述】:
我需要让我的程序在它访问的任何网站上删除 Access-Control-Allow-Origin,我该怎么做?这是我现在拥有的代码:
from PyQt5 import QtCore, QtGui, QtWidgets, QtWebEngineWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.webView = QtWebEngineWidgets.QWebEngineView(self.centralwidget)
self.webView.setUrl(QtCore.QUrl("thewebsite"))
self.webView.loadFinished.connect(self.reform)
self.webView.setObjectName("webView")
self.gridLayout.addWidget(self.webView, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def reform(self, ok):
payload = open('payload.js', 'r').read()
if ok:
self.webView.page().runJavaScript('alert("Ready");')
self.webView.page().runJavaScript(payload)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
from PyQt5 import QtWebEngineWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.setFixedSize(500, 500)
MainWindow.show()
sys.exit(app.exec_())
我该如何让它禁用 Access-Control-Allow-Origin?
【问题讨论】:
-
为什么要禁用它?也许还有另一种方法可以实现您的主要目标。
-
我需要禁用它,以便我可以向其他网站发出发布请求,目前我不能这样做,因为由于 Access-Control-Allow-Origin 我无法与任何其他网站交互。我知道这是可以实现的,因为我看到有人在 Qt 中做到了,我只是不知道如何在 PyQt5 中做到这一点
-
你有 Qt 的解决方案链接吗?如果你提供链接,我可以把它翻译成 PyQt。
标签: python python-3.x pyqt5