Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: known en 6 Marzo 2012, 20:23 pm



Título: [C#] Obtener index de una Pagina Web Con Url Acortada
Publicado por: known en 6 Marzo 2012, 20:23 pm
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:

(http://www.subirimagenes.net/pictures/33c96c6cecc06909c7a83b68a9d078c7.png)


Título: Re: [C#] Obtener index de una Pagina Web Con Url Acortada
Publicado por: seba123neo en 8 Marzo 2012, 03:11 am
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
  1. Imports System.Net
  2. Imports System.IO
  3.  
  4. Public Class Form1
  5.  
  6.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.  
  8.        Dim req As HttpWebRequest = CType(WebRequest.Create("http://web.smsbus.cl/web/"), HttpWebRequest)
  9.        req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0"
  10.        Dim response As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)
  11.  
  12.        Using resStream As Stream = response.GetResponseStream()
  13.            Dim reader As New StreamReader(resStream)
  14.            MsgBox(reader.ReadToEnd)
  15.        End Using
  16.  
  17.    End Sub
  18. End Class

saludos.



Título: Re: [C#] Obtener index de una Pagina Web Con Url Acortada
Publicado por: known en 8 Marzo 2012, 04:36 am
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.