2012-04-05 184 views

回答

1

您可以使用WebClient對象(例如,

WebClient client = new WebClient(); 
string reply = client.DownloadString (address); 

WebClient.DownloadString Method (String)

爲了搶一個外部CSS文件,你需要檢查HTML和提取CSS URI。然後,你可以簡單地調用,例如,

client.DownloadString ("http://www.example.com/somecss.css"); 
+0

這將只會得到HTML,CSS仍然缺失 – Kiotto 2012-04-05 11:27:40

+0

這只是一個例子,大概你可以多次調用它來下載額外的內容。 – NibblyPig 2012-04-05 11:29:34

+0

但我已經知道這個例子,多虧了相同的 – Kiotto 2012-04-05 11:31:23

0

是的,你可以得到整個頁面,並解析出HTML中的CSS鏈接:

using (var web = new System.Net.WebClient()) 
{ 
    web.DownloadFile(_source, _destination); 
} 
+0

這隻會得到HTML,CSS仍然丟失 – Kiotto 2012-04-05 11:30:26

+0

是的,你將不得不解析HTML的那個,無論是CSS本身還是CSS文件的鏈接,並再次像下載HTML文件一樣下載CSS文件。你將不得不自己做,我沒有支付,以幫助你寫你自己做的代碼,這種幫助是自願的 – Rumplin 2012-04-05 11:38:22

3

我可以建議兩種解決方案:

  1. 如果您的項目中可以這樣做,則可以通過自動化使用Internet Explorer加載此頁面並保存。這是一個很好的例子 - http://www.codeproject.com/Articles/2847/Automated-IE-SaveAs-MHTML。這不是基於.NET,但想法是相同的
  2. 另一種方法是手動下載HTML(例如使用WebClient對象)並解析它以查找CSS和JavaScript引用。有一些第三方庫可以幫助你,例如HTML Agility Pack