Pregunta HttpWebRequest c#

Iniciado por lamique, 21 Febrero 2013, 14:16 PM

0 Miembros y 1 Visitante están viendo este tema.

lamique

Hola

Tengo una duda, como puedo explorar los archivos de una web, pero sin ftp, yo pensé en ir probando direcciones con  WebBrowser pero no me doy cuenta, la idea seria, que en un listbox me tire todas las urls posibles, y yo pueda descargar un archivo.

no estoy muy familiarizado con HttpWebRequest, si es de esa manera, y alguien me facilitara un manual o tutorial le agradecería, y si no es así de que manera podría hacerlo?

por ejemplo con:
Text = WebBrowser1.Document.documentElement.OuterHTML
puedo guardar un html, se entiende?

espero me entiendan, Saludos
Si quiero Cambiar el Mundo, Empiezo por mi!

lamique

Hola gente, encontré algo, pero falta.

lo que logre hacer es que al ingresar una url, me busque en el index todas las urls, entre las etiquetas que yo ponga, pongo el código capas me entienden mejor

 
public static string GetDirectoryListingRegexForUrl(string url)
        {
            if (url.Equals("http://www.obrasdeleste.com.uy/"))
            {
                // busca estas etiquetas en el index
                return "href=(?<name>.*)type=/>";
            }
            throw new NotSupportedException();

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string url = "http://www.obrasdeleste.com.uy/";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
//carga el index en html
                    string html = reader.ReadToEnd();
                   
                    Regex regex = new Regex(GetDirectoryListingRegexForUrl(url));
                    MatchCollection matches = regex.Matches(html);
                   
                    if (matches.Count > 0)
                    {
                        foreach (Match match in matches)
                        {
                            if (match.Success)
                            {
                               

//muestra las url que aparecen entre las etiquetas de arriba                               listBox1.Items.Add(match.Groups["name"].Value);
                               


                            }
                        }
                       
                       
                    }
                }
            }

           
        }


bueno no se parece a lo que quiero pero algo es algo, la idea es como dije, mostrar todas las urls existentes en un listbox
Si quiero Cambiar el Mundo, Empiezo por mi!