2009-07-01 20 views

Respuesta

9
static string GetContents(Uri uri) { 
    using (var response = WebRequest.Create(uri).GetResponse()) 
    using (var stream = response.GetResponseStream()) 
    using (var reader = new StreamReader(stream)) 
     return reader.ReadToEnd(); 
} 

No funcionará para lo. Funciona para file://, http:// y https:// y ftp:// de forma predeterminada. Sin embargo, puede registrar manejadores de URI personalizados con WebRequest.RegisterPrefix para que funcione también para ellos.

5

La forma más sencilla es mediante el uso de la clase WebClient:

using(WebClient client = new WebClient()) 
{ 
    string contents = client.DownloadString(uri); 
} 
+1

Lamentablemente, no es seguro para subprocesos, que es un problema, y ​​por lo que puedo ver de un vistazo rápido, que sólo admite HTTP (I need atleast file: // too) –

+0

@Matthew: Internamente, solo usa 'WebRequest' para que también sea compatible con file: // y ftp: //. Si necesita más control, debe usar 'WebRequest' directamente. Si solo quiere una cadena de regreso, use 'WebClient'. –

+0

Admite otros URI. No está limitado a HTTP. ¿Y a qué te refieres con no estar seguro para subprocesos? –

Cuestiones relacionadas