2011-03-15 11 views
6

Estoy tratando de configurar el encabezado "User-Agent" en mi pequeño navegador webkit, pero no lo conseguí.¿Cómo configuro el User-Agent para una QNetworkRequest en PyQtWebkit?

Ese pedazo 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, "Accept-Language" está ajustada correctamente, pero el "User-Agent" es siempre el valor predeterminado. Dime por favor, ¿por qué? ¿Cómo configuro el "User-Agent"?

Gracias por la ayuda.

+10

yo usaría un mejor título. –

+1

Odio ser un deporte miserable, porque ese título ("¿Cuál es tu pregunta de programación? Sé específico") * era * bastante bueno –

+0

¿Qué es 'self.web'? No creo que QNetworkAccessManager tenga un método de carga. ¿No debería ser 'self.web.get (self.request)'? –

Respuesta

6

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

Cuestiones relacionadas