2012-12-19 15 views
1

我想知道如何將X-Forwarded-For參數添加到我的標頭中。如何在PyQt4的http請求中設置X-Forwarded-For

例如,如果我想改變用戶uagent在我的申請,我會做一些這樣的事:

class MyBrowser(QWebPage): 
    ''' Settings for the browser.''' 

    def __init__(self): 
     QWebPage.__init__(self) 

    def userAgentForUrl(self, url): 
     ''' Returns a User Agent that will be seen by the website. ''' 
     return "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15" 

,比我會做這樣的事情:

class Browser(QWebView): 
    def __init__(self, user_info): 
     QWebView.__init__(self) 
     self.setPage(MyBrowser()) 

回答

2

QWebView有void QWebView::load (const QNetworkRequest & request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray & body = QByteArray())。您可以設置QNetworkRequest任何頭與void QNetworkRequest::setRawHeader (const QByteArray & headerName, const QByteArray & headerValue)

我不是Python開發,但在C++中它會是這樣的:

QWebView * view = new QWebView; 
QNetworkRequest req(QUrl("http://www.google.pl")); 
req.setRawHeader("X-Forwarded-For", "MyData"); 
req.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15"); 
view->load(req); // will perform get operation by default 
view->show(); 
+0

了你,非常感謝你 – Vor