首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt WebEngine set http标头

PyQt WebEngine set http标头
EN

Stack Overflow用户
提问于 2017-03-22 03:37:15
回答 1查看 2K关注 0票数 3

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

Qt WebEngine有自己的HTTP实现,不能通过QNetworkAccessManager

我使用PyQt5和Qt5.8。

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

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

定义我的QWebEngineUrlRequestInterceptor类

代码语言:javascript
复制
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);

在我的浏览器中使用:

代码语言:javascript
复制
self.request_interceptor = NWUrlRequestInterceptor(self.headers)
self.webpage.profile().setRequestInterceptor(self.request_interceptor)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-22 12:32:35

您应该实现一个QWebEngineUrlRequestInterceptor,在它的interceptRequest方法中您可以得到一个QWebEngineUrlRequestInfo,它可以通过setHttpHeader设置一个http头。

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

如何使用QT WebEngine发送HTTPHeader?的启发。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42942295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档