2012-09-03 50 views
18

我有這個網址:URL from Google如何從此URL的文件中獲取內容?

當在新標籤中打開鏈接時,瀏覽器強制我下載它。下載後,我得到一個名爲「s」的文本文件。但我想用C#訪問這個URL並獲取它的文本,不要將它作爲文件保存到計算機。有沒有辦法做到這一點?

+0

你想通過C#代碼來做到這一點? – shenku

+0

可能的重複[如何從C#中的URL下載文件?](http://stackoverflow.com/questions/307688/how-to-download-a-file-from-a-url-in-c)或[從URL下載文件到字符串](http://stackoverflow.com/questions/3231969/download-file-from-url-to-a-string)。 – adrianbanks

+0

下載,閱讀和刪除文件。 –

回答

33
var webRequest = WebRequest.Create(@"http://yourUrl"); 

using (var response = webRequest.GetResponse()) 
using(var content = response.GetResponseStream()) 
using(var reader = new StreamReader(content)){ 
    var strContent = reader.ReadToEnd(); 
} 

這將把請求的內容放入strContent中。下面提到

或者爲adrianbanks簡單地使用WebClient.DownloadString()

+11

使用['WebClient.DownloadString()'](http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring.aspx)有什麼問題,它可以在單個代碼行? – adrianbanks

+0

什麼都沒有......我想我只是習慣於使用WebRequest,因爲我很難獲得單個資源,或者不得不處理標題。說實話,它直到現在才提到它,甚至沒有出現在我的腦海裏。 – Josh

+0

@adrianbanks - 其中之一,我不相信它在PCL中起作用。 – jbyrd

26

試試這個:

var url = "https://www.google.com.vn/s?hl=vi&gs_nf=1&tok=i-GIkt7KnVMbpwUBAkCCdA&cp=5&gs_id=n&xhr=t&q=thanh&pf=p&safe=off&output=search&sclient=psy-ab&oq=&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=be3c25b6da637b79&biw=1366&bih=362&tch=1&ech=5&psi=8_pDUNWHFsbYrQeF5IDIDg.1346632409892.1"; 

var textFromFile = (new WebClient()).DownloadString(url); 
+0

不喜歡不清理WebClient對象的想法。總是喜歡使用那些使用塊。 – Wobbles