проблемы с получением html в C#

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by no_xxx, 21 Sep 2009.

  1. no_xxx

    no_xxx New Member

    Joined:
    27 Nov 2008
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    IPHostEntry hostEntry = Dns.GetHostEntry("сайт");
    IPAddress address = hostEntry.AddressList[0];
    IPEndPoint ipEpoint = new IPEndPoint(address, 80);

    Socket socket = new Socket(ipEpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    socket.Connect(ipEpoint);

    string request ="GET /search.php?[name]=1HTTP/1.1\r\n" +
    "Host: vkontakte.ru\r\n" +
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)\r\n" +
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" +
    "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n" +
    "Accept-Encoding: gzip,deflate\r\n" +
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n" +
    "Keep-Alive: 300\r\n" +
    "Connection: keep-alive\r\n" +
    "Cookie: cockiid=2сс22e831ab2984a88e341a33сс2215d2сcd86cbbb81e59e900d1\r\n\r\n";

    Byte[] bytesSent = Encoding.ASCII.GetBytes(request);
    socket.Send(bytesSent, bytesSent.Length, 0);


    Byte[] bytesReceived = new Byte[2048];
    int bytes = 0;
    bytes = socket.Receive(bytesReceived, bytesReceived.Length, 0);
    string page = Encoding.ASCII.GetString(bytesReceived, 0, bytes);



    в итоге в page заносится только заголовок пакета... а мне нужна страница

    смотрю снифером, все в порядке страница приходит...

    помогите в C# дуб-дубом


    и еще вопросик, каким образом проще выдернуть из страницы все значения по шаблону??
     
    #1 no_xxx, 21 Sep 2009
    Last edited: 21 Sep 2009
  2. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    извращенец, в C# есть HttpWeb Request/Response

    private string GetResponse(string url)
    {
    var request = (HttpWebRequest) WebRequest.Create(url);
    try
    {
    request.Method = "GET";
    request.AllowAutoRedirect = false;
    using (var reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251)))
    {
    return reader.ReadToEnd();
    }
    }
    catch
    {
    return null;
    }
    }
     
    1 person likes this.
  3. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Меня смущает отсутствие пробела...
     
    _________________________
  4. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Видимо сервер ВК это тоже смущает =)
     
  5. CrazyXoLoD

    CrazyXoLoD Banned

    Joined:
    15 Jun 2009
    Messages:
    0
    Likes Received:
    24
    Reputations:
    1
    это всех смущает!)
     
  6. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Было бы очень хорошо, если ты с самого начала выложил этот заголовок. Тогда проблема решилась бы еще быстрее.
     
  7. Neogan

    Neogan Banned

    Joined:
    26 Sep 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    =) ну чтож поделать сам .atk с 0 начинал и счас до чего дошел