¿Cómo configuro el User-Agent para una QNetworkRequest en PyQtWebkit?

Estoy intentando configurar el encabezado “User-Agent” en mi pequeño navegador webkit, pero no lo conseguí.

Esa pieza de código:

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) 

En este ejemplo, “Aceptar idioma” está configurado correctamente, pero el “Agente de usuario” es siempre el valor predeterminado. Dime por favor por que ¿Cómo configuro el “User-Agent”?

Gracias por la ayuda.

QWebView anula el campo QNetworkRequest y establece el encabezado User-Agent adecuado para la versión de WebKit que está utilizando. Para cambiar este comportamiento predeterminado, debe heredar de QWebPage , volver a implementar QWebPage.userAgentForUrl y configurar la página para sus instancias de QWebView en una instancia de su nuevo tipo de QWebPage usando QWebView.setPage .

Ok, me imagino ahora:

 class Browser(QtWebKit.QWebPage): def __init__(self): super(QtWebKit.QWebPage, self).__init__() def userAgentForUrl(self, url): return "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" 

(es un ejemplo)

Gracias a http://www.riverbankcomputing.com/pipermail/pyqt/2011-May/029826.html y http://pastebin.com/m1b350244