python - 如何在 PyQtWebkit 中为 QNetworkRequest 设置用户代理?

标签 python qt webkit http-headers pyqt

我试图在我的小 webkit 浏览器中设置 header “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 header 。要更改此默认行为,您必须继承 QWebPage , 重新实现 QWebPage.userAgentForUrl并使用 QWebView.setPage 将 QWebView 实例的页面设置为新 QWebPage 类型的实例.

关于python - 如何在 PyQtWebkit 中为 QNetworkRequest 设置用户代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317924/

相关文章:

c++ - 如何使用 C++/QT 在 auto_update 的控制面板中更新应用程序版本

c++ - 使用析构函数时 Qt 程序中的奇怪行为

CSS 幻灯片。只有第二张幻灯片闪烁。并且仅在 Chrome/Safari 中

javascript - 将变量从javascript传递到服务器(django)

python - 如何使用 GAE 的 Python API 将原始字节写入谷歌云存储

python - 同一进程中的多个python循环

qt - 查找所有需要的字符串并使用 QPlainTextEdit::setExtraSelections() 选择它们

html - iFrame 滚动条可以在 webkit 中换肤吗?

java - Java 应用程序中的 Webkit 浏览器

python - 使用 Pandas 读取空白分隔的三角矩阵,其中空单元格为零