Главная страница
    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.037 c
4-1086851399
химик
2004-06-10 11:09
2004.07.25
Перехват печати на принтер


14-1088911799
Григорьев Антон
2004-07-04 07:29
2004.07.25
А кто за статьи на этом сайте отвечает?


9-1056703860
Николай Быков
2003-06-27 12:51
2004.07.25
Движок для текстовой RPG


6-1085802948
Vizzor
2004-05-29 07:55
2004.07.25
Как можно проверить включен ли HTTP/FTP через сокеты?


4-1087289408
sashok
2004-06-15 12:50
2004.07.25
Как узнать цвет точки под мышкой?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский