Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: lamique en 21 Febrero 2013, 14:16 pm



Título: Pregunta HttpWebRequest c#
Publicado por: lamique en 21 Febrero 2013, 14:16 pm
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:
Código:
Text = WebBrowser1.Document.documentElement.OuterHTML
puedo guardar un html, se entiende?

espero me entiendan, Saludos


Título: Re: Pregunta HttpWebRequest c#
Publicado por: lamique en 22 Febrero 2013, 17:49 pm
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

Código:
  
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