2012-09-03 18 views
18

Ho questo URL: URL from GoogleCome ottenere il contenuto da file da questo URL?

Quando il collegamento è aperto in una nuova scheda, il browser mi impone di scaricarlo. Dopo il download, ricevo un file di testo chiamato "s". Ma voglio usare l'accesso C# a questo URL e ottenere il suo testo, non salvarlo come file sul computer. C'è un modo per farlo?

+0

vuoi fare questo via codice C#? – shenku

+0

possibile duplicato di [Come scaricare un file da un URL in C#?] (Http://stackoverflow.com/questions/307688/how-to-download-a-file-from-a-url-in-c) oppure [Scarica il file dall'URL in una stringa] (http://stackoverflow.com/questions/3231969/download-file-from-url-to-a-string). – adrianbanks

+0

scaricare, leggere ed eliminare il file. –

risposta

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(); 
} 

In questo modo il contenuto della richiesta verrà inserito in strContent.

O come adrianbanks di seguito indicate semplicemente utilizzare WebClient.DownloadString()

+11

Cosa c'è di sbagliato nell'usare ['WebClient.DownloadString()'] (http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring.aspx), che può fare lo stesso in un singolo linea di codice? – adrianbanks

+0

Niente ... Immagino di essere così abituato a usare WebRequest perché non ho quasi mai una singola risorsa, o devo occuparmi di intestazioni. Ad essere sincero, non mi è nemmeno venuto in mente finché non l'hai menzionato proprio ora. – Josh

+0

@adrianbanks - per uno, non credo che funzioni in un PCL. – jbyrd

26

Prova questa:

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

Non mi piace l'idea di non pulire l'oggetto 'WebClient'. Mi piace sempre usare quelli che usano i blocchi. – Wobbles

Problemi correlati