gpt4 book ai didi

PyQt WebEngine 设置 http header

转载 作者:行者123 更新时间:2023-12-04 03:13:47 26 4
gpt4 key购买 nike

我想将我的应用程序从 Qt WebKit 移植到 Qt WebEngine。在 Qt Webkit 中,我可以使用 QNetworkRequest 设置 http header ,但在 Qt WebEngine 中,文档说:

Qt WebEngine has its own HTTP implementation and cannot go through a QNetworkAccessManager

我使用 PyQt5 和 Qt5.8。

我找不到如何在 Qt WebEngine 中设置 http header 。

------------更新----------------

终于成功了!谢谢! @Trilarion:

定义我的 QWebEngineUrlRequestInterceptor 类

class NWUrlRequestInterceptor(QWebEngineUrlRequestInterceptor):
def __init__(self, headers):
super(QWebEngineUrlRequestInterceptor, self).__init__()
self.headers = headers

def set_headers(self,headers):
self.headers = headers

def interceptRequest(self, info):
print info, self.headers
for header, value in self.headers:
info.setHttpHeader(header, value);

在我的浏览器中使用:

self.request_interceptor = NWUrlRequestInterceptor(self.headers)
self.webpage.profile().setRequestInterceptor(self.request_interceptor)

最佳答案

你应该实现一个 QWebEngineUrlRequestInterceptor在其 interceptRequest 方法中,您可以获得 QWebEngineUrlRequestInfo,它可以通过 setHttpHeader 设置 http header 。

通过QWebEngineView.page().profile().setRequestInterceptor设置请求拦截器。

灵感来自 How to send HTTPHeader using QT WebEngine? .

关于PyQt WebEngine 设置 http header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42942295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com