Lista de archivos de una dirección web

19/05/2005 - 13:48 por Chino | Informe spam
Hola!!

Alguien sabe como obtener la lista de archivos de una URL??

P.ej: http://XXX.XXX.XXX.XX/compartir/archivos/

Lo intento con DirectoryInfo pero no permite direcciones URI.

Muchas gracias,

CHINO

Preguntas similare

Leer las respuestas

#1 A.Poblacion
19/05/2005 - 15:39 | Informe spam
"Chino" wrote in message
news:
Alguien sabe como obtener la lista de archivos de una URL??

P.ej: http://XXX.XXX.XXX.XX/compartir/archivos/

Lo intento con DirectoryInfo pero no permite direcciones URI.



Tiene que estar habilitado en el servidor. Si el servidor tiene marcada
la opción "permitir listar directorios" (en IIS es el checkbox que dice
"Directory Browsing" en las Propiedades del directorio virtual), entonces
cuando haces un GET por HTTP a la dirección de la carpeta (p.ej.,:
http://XXX.XXX.XXX.XX/compartir/archivos/), te contesta el servidor con una
página HTML que contiene un listado de los archivos.
Respuesta Responder a este mensaje
#2 Chino
19/05/2005 - 15:50 | Informe spam
Muchas gracias, pero lo que quiero saber es cómo hacerlo con código, es
decir, lo pruebo con IE y efectivamente veo la lista de archivos pero quiero
tratarlos con C# y guardar sus nombres en una base de datos.

Cómo puedo hacerlo??

Muchas gracias,

CHINO


"A.Poblacion" escribió en
el mensaje news:
"Chino" wrote in message
news:
> Alguien sabe como obtener la lista de archivos de una URL??
>
> P.ej: http://XXX.XXX.XXX.XX/compartir/archivos/
>
> Lo intento con DirectoryInfo pero no permite direcciones URI.

Tiene que estar habilitado en el servidor. Si el servidor tiene


marcada
la opción "permitir listar directorios" (en IIS es el checkbox que dice
"Directory Browsing" en las Propiedades del directorio virtual), entonces
cuando haces un GET por HTTP a la dirección de la carpeta (p.ej.,:
http://XXX.XXX.XXX.XX/compartir/archivos/), te contesta el servidor con


una
página HTML que contiene un listado de los archivos.


Respuesta Responder a este mensaje
#3 A.Poblacion
19/05/2005 - 21:33 | Informe spam
"Chino" wrote in message
news:
Muchas gracias, pero lo que quiero saber es cómo hacerlo con código, es
decir, lo pruebo con IE y efectivamente veo la lista de archivos pero


quiero
tratarlos con C# y guardar sus nombres en una base de datos.

Cómo puedo hacerlo??



Primero tienes que traer la página web. Utiliza para ello el objeto
WebRequest:

using System.Net;
using System.IO;

WebRequest myRequest WebRequest.Create("http://XXX.XXX.XXX.XX/compartir/archivos/");
WebResponse myResponse = myRequest.GetResponse();
Stream respstrm = myResponse.GetResponseStream();
int BufferSize = 100000;
Byte[] Buffer = new Byte[BufferSize];
int bytesRead = respstrm.Read(Buffer, 0, BufferSize);
respstrm.Close();
myResponse.Close();

Ahora tienes en el buffer el contenido de la página html que te ha
devuelto el servidor con los nombres de archivo. Para sacar de dentro del
html los nombres, no existe ningún método estandarizado. Tendrás que
examinar el contenido, ver el formato que tiene, analizarlo por programa y
extraer las partes que te interesen. Te sugiero que examines la clase RegEx,
si quieres implementar la extracción con expresiones regulares.
Respuesta Responder a este mensaje
#4 john simth
17/06/2005 - 18:55 | Informe spam
Directamente no puedes.

Una URL no es un directorio. Ten en cuenta que la mayor parte de
servidores Web están configurados "de fábrica" para que no muestren los
ficheros de un directorio.

Y en caso de que te los muestren, lo único que obtendrás será una página
HTLM con el listado de los ficheros. Como mucho podrías obtener ese
listado si eres capaz de analizar dicha página HTML (la cual es distinta
según el servidor Web sobre el que esté montado el sitio) y si ese
servidor Web está configurado para que te deje hacerlo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida