Главная страница
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.018 c
1-83475
MainKaif
2003-05-15 11:47
2003.05.26
Отлов нажатия клавиши


3-83405
tm
2003-04-25 08:55
2003.05.26
Есть ли преимущества у лок. БД (напр. Paradox) перед InterBase


1-83547
zeratul_pr
2003-05-13 22:28
2003.05.26
Список файлов в memo...


3-83359
anpv
2003-05-06 09:10
2003.05.26
BLOB(JPEG)->Interbase


1-83465
phantom2040
2003-05-15 09:24
2003.05.26
Помогите с размером файла