Как получить ответ на http запрос?

Тема в разделе "WASM.NETWORKS", создана пользователем Shira, 6 июл 2005.

  1. Shira

    Shira New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    17
    Как получить ответ на обычный http запрос, к примеру такой:
    Код (Text):
    1. GET index.php HTTP/1.1
    2. Host: localhost
    3. Cookie: login=member;pass=123
    4. Connection: close




    Запрос посылаю по средствам обычных сокетов. Желательно получить только заголовок ответа. Если можете дайте ссылку на приложение на асе или делфи.
     
  2. perez

    perez Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    502
    Адрес:
    Moscow city
    по средствам обычных сокетов не

    можешь принять данные?



    accept

    recv



    Или я тебя не понял?
     
  3. Nothing

    Nothing New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2003
    Сообщения:
    139
    Адрес:
    Russia
    Ну а какие проблемы с получением ответа?

    Данные посылаются send, ответ читается recv.

    Если нужен только заголовок, а не содержимое, то надо использовать запросв HEAD, а не GET.

    Каждая строка запроса и ответа должна оканчиваться символами 13,10. В конце запроса необходимо послать пустую строку, в конце ответа тоже будет пустая строка.



    HEAD /some.rar HTTP 1.1

    Host: 192.168.0.1

    Accept: */*

    Referer: /

    Pragma: no-cache

    Cache-Control: no-cache

    Authorization: Basic [censored]

    Connection: close



    А вот и ответ от сервера:

    HTTP/1.1 200 OK

    Date: Wed, 06 Jul 2005 06:49:33 GMT

    Server: Apache

    Last-Modified: Thu, 30 Dec 2004 22:06:07 GMT

    ETag: "2dc07a-9e1ecd-7e2b51c0"

    Accept-Ranges: bytes

    Content-Length: 103628889

    Connection: close

    Content-Type: application/octetstream



    ответ от сервера получается штатными функциями семейства recv.
     
  4. Shira

    Shira New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    17
    Все спасибо, я просто забывал в конце запроса ставить пустую строку, и сервак думал, что запрос не закончен... Еще раз всем спасибо.