2011-11-01 49 views
2

我們正在使用System.Net.WebClient類下載整個網頁。但我們只想要不到一半的頁面。那麼有沒有辦法使用.net庫來下載頁面的一部分,比如1/3頁,等等,這樣我們就可以節省網絡帶寬和空間了?如果是這樣,請拋出你的想法,謝謝。如何使用.net下載部分網頁

+0

它是你正在試圖查看的自己的網站? – Aliostad

+0

這不是我們的網站 – mohang

回答

2

您需要爲GET或POST請求提供「Accept-Ranges標頭」。這可以通過使用您的HttpWebRequest的的AddRange方法來完成:

HttpWebRequest myHttpWebRequest = 
    (HttpWebRequest)WebRequest.Create("http://www.foo.com"); 
myHttpWebRequest.AddRange(0,100); 

這將產生第一個100個字節。但是,服務器需要支持這一點。

+0

我們會嘗試這個 – mohang

+0

雖然請注意,並非所有服務器都支持「Accept-Ranges」標頭。如果一個服務器不支持這個功能,它可能只是給你發送整個頁面,它可能會返回一個'400 Bad Request'。 –

+1

這對我們嘗試的服務器不起作用。謝謝您的幫助。 – mohang

0

排序的答案是,除非網絡應用程序支持某種方式來定製它的迴應你想要它返回。

這可能採取的形式

  • 查詢字符串參數
  • 頭字段值

增加,這將是一個查詢字符串參數的最簡單方式,當檢測到的寫出來的必要的HTML到響應對象。如果您無法更改網絡應用程序,那麼您將無法控制返回給您的頁面的多少。

您可能想了解HTTP如何工作,因爲這個問題,它的答案依賴於此。具體而言,Header定義應該是有幫助的。