Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

Подключение из Delphi к Web-серверу по протоколу HTTP.   Найти похожие ветки 

 
serg222 ©   (2003-03-20 17:30) [0]

Имеется Web-сервер.
Я из Delphi подсоединяюсь к Web-серверу.
Использую стандартный компонент TClientSocket.
И посылаю на Web-сервер запрос в соответствии с протоколом HTTP.
GET http://www.SiteName.ru:80/ HTTP/1.0
В ответ Web-сервер шлет мне ответ
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 20 Mar 2003 11:52:02 GMT
Content-type: text/html
X-Powered-By: PHP/4.2.3

Bodi Bodi Bodi Bodi Bodi Bodi
Bodi Bodi Bodi Bodi Bodi Bodi
Bodi Bodi Bodi Bodi Bodi Bodi

Данные в Delphi я считываю на событии TClientSocket.OnRead.
И добавляю их в глобальную переменную при каждом вызове этого события.
Если объем передаваемых данных большой, то это событие происходит несколько раз.
Вопрос.
Как при очередном вызове события TClientSocket.OnRead мне проверить, что приняты все данные или же еще нет?


 
Palladin ©   (2003-03-20 17:54) [1]

OnDisconnect


 
serg222 ©   (2003-03-20 18:19) [2]

Большое спасибо


 
Paul-M ©   (2003-03-28 18:21) [3]

2 Palladin
Не обязательно. Если в тексте запроса стоит параметр
Connection: Keep-Alive, то сервер не закрывает соединение после выполнения запроса согласно RFC. Соединение может быть разорвано только после параметра запроса Connection: Close.
Это спецификация НТТР 1.1, другие не читал.
Это сделано для:
1. Получение изображений
2. Получения фреймов, скриптов в отдельных файлах и т.п.

Если получаешь HTML то логичто предположить что после тэга </BODY>
А еще проще - читай спецификацию протокола НТТР - там все есть )))


 
Wonder ©   (2003-03-28 18:32) [4]

Hypertext Transfer Protocol -- HTTP/1.1

...

14.14 Content-Length

The Content-Length entity-header field indicates the size of the message-body, in decimal number of octets, sent to the recipient or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET.
...
Applications SHOULD use this field to indicate the size of the message-body to be transferred, regardless of the media type of the entity.
...



 
Paul-M ©   (2003-03-28 18:42) [5]

2 Wonder
Ага! Вот про это я и говорил, только RFC № кактотам под рукой нету


 
Wonder ©   (2003-03-28 18:47) [6]

RFC 2068



Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-83395
anpv
2003-05-06 14:57
2003.05.26
UPDATE BLOB = INSERT


7-83758
ed
2003-03-25 23:42
2003.05.26
флоп


1-83539
shnitken
2003-05-13 17:57
2003.05.26
Количество символов в RichEdit


14-83740
_Igorek
2003-05-07 11:52
2003.05.26
Полюбуйтесь на глюк компилятора в D6


14-83668
pet
2003-05-05 17:13
2003.05.26
smtp