2010-09-07 91 views

回答

11

您可以設置發送的QNetworkRequest標題:

QNetworkRequest request; 
request.setUrl(QUrl("http://qt.nokia.com")); 
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0"); 

要在加載網頁時使用自定義的要求,使用重載load功能:如果你想申請

myWebView->load(request); 
+0

這是否覆蓋所有的默認標題,或者這只是添加和替換現有的標題? – lennysan 2010-09-07 22:54:58

+0

任何想法當我使用「Host:mysite.com」時它會掛起,但在使用「Host:www.mysite.com」時正常工作?我希望網絡服務器在任何情況下都能做出響應,但在第一種情況下,呼叫只能無限期地在那裏。 – lennysan 2010-09-08 00:08:10

+0

該行爲取決於正在使用的Web服務器。當一個服務器支持多個(虛擬)主機時,它必須使用'host'頭來確定請求應該發送到哪個虛擬主機。 – 2010-09-08 00:16:15

3

這對所有請求QtWebKit使,您可以繼承QNetworkAccessManager並重新實​​現它的createRequest()函數來相應地修改標頭。

+0

請問如果createRequest()通過const引用接受QNetworkRequest,怎麼可能實現呢?我可以想象應該調用相應QNetworkRequest的setHeader()或setRawHeader()。 – user2198121 2016-12-02 18:26:17

相關問題