[C#] Obtener index de una Pagina Web Con Url Acortada

Iniciado por known, 6 Marzo 2012, 20:23 PM

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

known

Hola, tengo un problema al tratar de obtener una pagina web
Para obtener por ejemplo el index de facebook, utilizo esta sentencia:

request = WebRequest.Create("http://facebook.com/index.php");
WebResponse response = request.GetResponse();

Pero si quiero obtener la página http://web.smsbus.cl/web/    ,de la forma:

request = WebRequest.Create("http://web.smsbus.cl/web/");
WebResponse response = request.GetResponse();


Me arroja el siguente error:


seba123neo

es por el UserAgent, algunos servidores necesitan que les envies ese dato en la cabecera del POST sino te devuelven ese error, aca te dejo un ejemplo que funciona con esa web.

Código (vbnet) [Seleccionar]
Imports System.Net
Imports System.IO

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim req As HttpWebRequest = CType(WebRequest.Create("http://web.smsbus.cl/web/"), HttpWebRequest)
        req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0"
        Dim response As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)

        Using resStream As Stream = response.GetResponseStream()
            Dim reader As New StreamReader(resStream)
            MsgBox(reader.ReadToEnd)
        End Using

    End Sub
End Class


saludos.

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

known

Ahi si me sirvio :D
Gracias por la ayuda, dejo el codigo que hice en C# para que funcionara, por si alguien mas tiene la duda :P

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://web.smsbus.cl/web/");
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
                string str = reader.ReadToEnd();
                MessageBox.Show(str);

Gracias !; Saludos.