C#, запросы get получить не всю страницу

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by need_million, 24 May 2010.

  1. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    Надо получить к примеру первые 1000байт, или получить от начала до слова "КЕЙВОРД" такое вохможно?
     
  2. 0xF0RD

    0xF0RD Member

    Joined:
    2 Dec 2009
    Messages:
    49
    Likes Received:
    6
    Reputations:
    0
    Привожу пример, по аналогии с PHP

    1.Посылаешь запрос серверу типа "GET", в котором указываешь страницу, которая тебе нужна
    2. Присваиваешь ответ сервака текстовой переменной.
    3. Находишь с помощью ф-ии (что-то типа strpos ) позицию слова "КЕЙВОРД"
    4. Копируешьс помощью ф-ии (что-то типа strcopy ) текстовую переменную от начала до позиции, которую вернет strpos
     
  3. Chrome~

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

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Можно использовать сокеты, чтобы считывать инфу не полностью.
     
  4. Failure

    Failure Elder - Старейшина

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    HTTP-заголовок Range
    например
    Code:
    GET /page.php HTTP/1.0
    Host: host.me
    Range: bytes=15-30
    
    
    этот запрос отобразит page.php от 15 до 30 байта
    считываешь всю страницу, и и ищешь первое вхождение строки, и обрезаешь всё до этого
     
  5. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    не вариант, я хочу что бы меньше времени работало.

    а про байты спасибо =)
     
    1 person likes this.
  6. [ac1D]

    [ac1D] Banned

    Joined:
    6 Dec 2009
    Messages:
    44
    Likes Received:
    27
    Reputations:
    0
    Code:
    using Sysyem.Net;
    ...
    WebRequest req = WebRequest.Create("http://");
    req.Method = "GET";
    StreamReader read = new StreamReader(req.GetResponseStream());
    byte[] recv = дальше хз)) надо погуглить) ты уж извини) завтро найду)
    ...
    
     
  7. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    request.AddRange(100, 200); - чот не работает