25/06/2008, 20:11
|
| | Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 8 meses Puntos: 6 | |
Respuesta: Sockets en C# , Problemita para acceder a paginas web Sigue sin funcionar. Ahora me muestra un codigo html que dice redirect, y hay un Location a url.com :S.... osea, sigo sin entender como decirle que entre a fotolog.com, por que redireccion tiene que pasar.. etc.
Pego todo el codigo:
Código:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace test
{
class Program
{
static void Main(string[] args)
{
string cabecera = "GET / HTTP/1.1\nHost: url\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3\n\n";
string respuesta;
Byte[] SendBytes = Encoding.ASCII.GetBytes(cabecera);
Byte[] RecvBytes = new Byte[255];
int bytes;
try
{
IPHostEntry direc = Dns.GetHostEntry("www.fotolog.com");
IPEndPoint Ep = new IPEndPoint(direc.AddressList[0], 80);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
socket.Connect(Ep); //Conectamos
socket.Send(SendBytes, SendBytes.Length, SocketFlags.None); //Enviamos la cabecera
bytes = socket.Receive(RecvBytes, RecvBytes.Length, SocketFlags.None); //Recibimos la respuesta en bloques de 255 bytes
while (bytes > 0)
{
respuesta = Encoding.ASCII.GetString(RecvBytes, 0, bytes); //Codificamos la respuesta y la guardamos en respuesta.
Console.WriteLine(respuesta);
bytes = socket.Receive(RecvBytes, RecvBytes.Length, SocketFlags.None); //Recibimos la respuesta en bloques de 255 bytes
}
}
catch (Exception) //Si durante el procedimiento hay error salta aqui.
{
Console.WriteLine("Se produció un error al recibir bytes.");
Console.Read();
}
}
catch (Exception)
{
Console.WriteLine("Host no encontrado (lo mas probable).");
}
Console.Read(); //getch
}
}
|