1

我想知道如何将参数添加X-Forwarded-For到我的标题中。

例如,如果我想在我的应用程序中更改 user-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())
4

1 回答 1

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();
于 2012-12-20T08:40:54.693 回答