python – 如何在PyQtWebkit中为QNetworkRequest设置User-Agent?

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

那段代码:

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”始终是默认值.请告诉我,为什么?如何设置“用户代理”?

感谢帮助.

解决方法

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

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。