ver online metapicz metadatos extraer archivo analizador c# file

c# - online - ¿Cómo leer un archivo de internet?



metapicz (6)

Creo que la clase WebClient es apropiada para eso:

WebClient client = new WebClient(); Stream stream = client.OpenRead("http://yoururl/test.txt"); StreamReader reader = new StreamReader(stream); String content = reader.ReadToEnd();

http://msdn.microsoft.com/en-us/library/system.net.webclient.openread.aspx

Pregunta simple: Tengo un archivo en línea (txt). ¿Cómo leerlo y comprobar si está ahí? (C # .net 2.0)


Mire System.Net.WebClient , los documentos incluso tienen un ejemplo de recuperación del archivo.

Pero probar si el archivo existe implica pedir el archivo y detectar la excepción si no está allí.


Primero, puedes descargar el archivo binario:

public byte[] GetFileViaHttp(string url) { using (WebClient client = new WebClient()) { return client.DownloadData(url); } }

Luego, puede hacer una matriz de cadenas para el archivo de texto (asumiendo UTF-8 y que es un archivo de texto):

var result = GetFileViaHttp(@"http://example.com/index.html"); string str = Encoding.UTF8.GetString(result); string[] strArr = str.Split(new[] { "/r/n" }, StringSplitOptions.RemoveEmptyEntries);

Recibirá todas las líneas de texto (excepto las vacías) en cada campo de matriz.


Un poco más fácil de manera:

string fileContent = new WebClient().DownloadString("yourURL");


de http://www.csharp-station.com/HowTo/HttpWebFetch.aspx

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("myurl"); // execute the request HttpWebResponse response = (HttpWebResponse) request.GetResponse(); // we will read data via the response stream Stream resStream = response.GetResponseStream(); string tempString = null; int count = 0; do { // fill the buffer with data count = resStream.Read(buf, 0, buf.Length); // make sure we read some data if (count != 0) { // translate from bytes to ASCII text tempString = Encoding.ASCII.GetString(buf, 0, count); // continue building the string sb.Append(tempString); } } while (count > 0); // any more data to read? // print out page source Console.WriteLine(sb.ToString());


una alternativa a HttpWebRequest es WebClient

// create a new instance of WebClient WebClient client = new WebClient(); // set the user agent to IE6 client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)"); try { // actually execute the GET request string ret = client.DownloadString("http://www.google.com/"); // ret now contains the contents of the webpage Console.WriteLine("First 256 bytes of response: " + ret.Substring(0,265)); } catch (WebException we) { // WebException.Status holds useful information Console.WriteLine(we.Message + "/n" + we.Status.ToString()); } catch (NotSupportedException ne) { // other errors Console.WriteLine(ne.Message); }

ejemplo de http://www.daveamenta.com/2008-05/c-webclient-usage/