Главная страница
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.017 c
1-83595
Serg!
2003-05-14 14:58
2003.05.26
Assembler


8-83616
FROM_X
2003-02-13 13:27
2003.05.26
DirectSS кто нить работал с ним? Вопрос...


14-83675
pasha_golub
2003-05-05 20:29
2003.05.26
Встреча Мастаков в Москве


1-83498
tovSuhov
2003-05-15 11:36
2003.05.26
По поводу потоков...


14-83677
Карелин Артем
2003-04-30 12:09
2003.05.26
Yaffil, Работа с офисом 97 через OLE, Win 95 и слабый комп.