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)
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.
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.
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.