Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Indy v.8 Получение Header ответа сервера.   Найти похожие ветки 

 
panov ©   (2004-05-28 11:54) [0]

Не нашел возможности получить заголовок ответа от сервера.
Пример есть только с использованием TIdLogDebug.

Или я не понимаю чего-то, или в tIdHTTP.Response есть только выжимки из заголовка?

Можно ли получить заголовок целиком без использования TIdLogDebug?


 
Algol   (2004-05-28 16:30) [1]

idHTTP1.Response.RawHeaders.ConvertToStdValues(Memo1.Lines);
не оно ?


 
panov ©   (2004-05-28 21:55) [2]

>Algol   (28.05.04 16:30) [1]
Что такое RawHeaders? Откуда?


 
Verg ©   (2004-05-28 22:31) [3]

А разве сам Response - это не то, что нужно?


 
panov ©   (2004-05-28 23:06) [4]

>Verg ©   (28.05.04 22:31) [3]
Увы, в Response только часть полей, да и надо мне не сами поля, а полный заголовок для подсчета его размера.


 
Algol   (2004-05-29 19:24) [5]


> Что такое RawHeaders? Откуда?

Да, только что посмотрел, в 8-й версии этого свойства нет, а в 9-й есть :)


 
nikkie ©   (2004-05-30 00:14) [6]

>panov
нет, в Response все-таки есть весь хедер. просто он не в виде одного stringlist. часть полей хедера разобрана в поля Response, а остальные поля доступны в виде Stringlist-а ExtraHeaders, см. методы TIdHTTP.RetrieveHeaders и TIdHeaderInfo.GetHeaders.

...для подсчета его размера.
имхо сделать это можно легко, если унаследоваться от TIdHTTP и переопределить метод Readln.


 
panov ©   (2004-05-30 12:33) [7]

Спасибо всем.
Сейчас пока в TIdLogDebug вытаскиваю заголовок.

>nikkie ©   (30.05.04 00:14) [6]
Попробую на работе с RetrieveHeaders и GetHeaders.

А вот с наследованием - не вижу особого смысла ради получения заголовка переопределять класс - несовместимость моет ьбыть в разных версиях Indy...


 
nikkie ©   (2004-05-30 18:18) [8]

>Попробую на работе с RetrieveHeaders и GetHeaders.
не знаю, что ты с ними собираешься сделать. я предлагал просто сорсы почитать. что-либо сделать, я думаю, не получится - это невиртуальные protected методы. ни вызвать их, ни вклиниться в них нельзя.

>TIdLogDebug
он выдает ведь еще всякую доп.информацию типа "Sent/Received" и дата/время? так что подсчитать количество байт в заголовке таким способом затруднительно, имхо.

>А вот с наследованием - не вижу особого смысла ради получения заголовка переопределять класс
что мне нравится в Indy - при наличии исходников, нужные методы они не стесняются делать виртуальными, и сделать своего наследника с исправленной функциональностью проблем не представляет. по-крайней мере пока мне это всегда удавалось.

нет, если не хочется делать наследника - можешь собрать исходный заголовок из ExtraHeaders и остальных полей (обратно тому, как это делается в TIdHeaderInfo.GetHeaders) и посчитать длину. мне кажется переопределить Readln проще и элегантнее.

несовместимость моет ьбыть в разных версиях Indy...
а вот это уже весело. ты попробуй ради интереса перенести свой код с использованием TIdLogDebug на Indy9 - и после этого делай выводы на тему несовместимостей с другими версиями. вот чем разработчики Indy никогда не озабачивались, это backward-совместимостью. и, наверное, это самый главный недостаток Indy. так что вариант с наследованием будет заведомо переносимее варианта с TIdLogDebug.


 
panov ©   (2004-05-31 09:59) [9]

>nikkie ©   (30.05.04 18:18) [8]

Спасибо за развернутый комментарий.

Думаю, что придется все-таки наследоваться.



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

Форум: "Сети";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
3-1088721442
Daniil
2004-07-02 02:37
2004.07.25
DBGrid


1-1089264964
glGLU
2004-07-08 09:36
2004.07.25
Loading...


6-1085736941
Turbid
2004-05-28 13:35
2004.07.25
Проверка последнего изменения страницы без закачки?


1-1089347341
Mim1
2004-07-09 08:29
2004.07.25
Обработка CLX сообщений


1-1089624951
Snip
2004-07-12 13:35
2004.07.25
Owner





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский