如何在PyQtWebkit中为QNetworkRequest设置User-Agent? [英] How do I set the User-Agent for a QNetworkRequest in PyQtWebkit?

查看:831
本文介绍了如何在PyQtWebkit中为QNetworkRequest设置User-Agent?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的小webkit浏览器中设置标题User-Agent,但我没有得到。

I'm trying to set the header "User-Agent" in my little webkit-browser, but I did not get.

这段代码:

self.web = QtWebKit.QWebView(self)
...
self.request = QNetworkRequest() 
self.request.setUrl(url) 
self.request.setRawHeader("User-Agent", QtCore.QByteArray ("TestUserAgent")) 
self.request.setRawHeader("Accept-Language", QtCore.QByteArray ("en ,*")) 
self.web.load(self.request) 

在此示例中,Accept-Language设置正确,但User-Agent是始终是默认值。请告诉我,为什么?如何设置用户代理?

In this example, "Accept-Language" is set correctly, but the "User-Agent" is always the default value. Tell me please, why? How do I set the "User-Agent"?

感谢您的帮助。

推荐答案

QWebView会覆盖QNetworkRequest字段,并设置适合您正在使用的WebKit版本的User-Agent标头。要更改此默认行为,您必须从 QWebPage 继承,重新实现 QWebPage.userAgentForUrl 并设置页面使用 QWebView将QWebView实例添加到新QWebPage类型的实例.setPage

QWebView overrides the QNetworkRequest field and sets the User-Agent header appropriate for the version of WebKit you are using. To change this default behavior you must inherit from QWebPage, reimplement QWebPage.userAgentForUrl and set the page for your QWebView instances to an instance of your new QWebPage type using QWebView.setPage.

这篇关于如何在PyQtWebkit中为QNetworkRequest设置User-Agent?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆