我正在做一些PyQt4和QtWebKit的工作,並且在網頁請求中需要發送一個自定義的「主機」標題以及標準的HTTP請求。我沒有看到爲請求添加自定義標題的任何選項,但這對我來說都是新的,所以我希望我錯過了一些東西。我期待在這裏:發送一個自定義標題以及qtwebkit請求
http://doc.qt.digia.com/4.6/qwebsettings.html
任何意見將不勝感激。
我正在做一些PyQt4和QtWebKit的工作,並且在網頁請求中需要發送一個自定義的「主機」標題以及標準的HTTP請求。我沒有看到爲請求添加自定義標題的任何選項,但這對我來說都是新的,所以我希望我錯過了一些東西。我期待在這裏:發送一個自定義標題以及qtwebkit請求
http://doc.qt.digia.com/4.6/qwebsettings.html
任何意見將不勝感激。
您可以設置發送的QNetworkRequest標題:
QNetworkRequest request;
request.setUrl(QUrl("http://qt.nokia.com"));
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");
要在加載網頁時使用自定義的要求,使用重載load功能:如果你想申請
myWebView->load(request);
這對所有請求QtWebKit使,您可以繼承QNetworkAccessManager
並重新實現它的createRequest()
函數來相應地修改標頭。
請問如果createRequest()通過const引用接受QNetworkRequest,怎麼可能實現呢?我可以想象應該調用相應QNetworkRequest的setHeader()或setRawHeader()。 – user2198121 2016-12-02 18:26:17
這是否覆蓋所有的默認標題,或者這只是添加和替換現有的標題? – lennysan 2010-09-07 22:54:58
任何想法當我使用「Host:mysite.com」時它會掛起,但在使用「Host:www.mysite.com」時正常工作?我希望網絡服務器在任何情況下都能做出響應,但在第一種情況下,呼叫只能無限期地在那裏。 – lennysan 2010-09-08 00:08:10
該行爲取決於正在使用的Web服務器。當一個服務器支持多個(虛擬)主機時,它必須使用'host'頭來確定請求應該發送到哪個虛擬主機。 – 2010-09-08 00:16:15