Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
1

GZip в Indy(XE2)

14.02.2015, 14:10. Показов 1550. Ответов 16
Метки нет (Все метки)

Подскажите,как использовать сжатие страниц в indy.
Пишу так:
C++
1
2
3
4
5
6
7
8
9
10
11
IdHTTP1->HandleRedirects= true;
IdHTTP1->Request->AcceptEncoding = "gzip";
IdHTTP1->Compressor =  IdCompressorZLib1; //  ошибка
try
{
    Memo1->Text= IdHTTP1->Get("http://google.ru"); 
}
catch(EIdException &E) 
{
    Memo1->Lines->Add("Ошибка");
};
Но появляется ошибка.

Гуглил,но так и не нашел решение проблемы.
Но наткнулся на блог Avazart , где сказано, что в XE2 сжатие не работает.

Скажите,как решить данную проблему в XE2 без ее перестановки.
Может кто-то уже нашел решение.
Миниатюры
GZip в Indy(XE2)  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2015, 14:10
Ответы с готовыми решениями:

Чистая установка Indy 10.5344 на XE2
Здравствуйте. Понимаю, что тема уже сильно заезжена, но все же. При переустановке компонента...

Кодировка Indy в Delphi XE2
Помогите пожалуйста. Не могу спарсить страничку. Проблема в кодировке как я понимаю. Код такой:...

Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip
Добрый день, пытаюсь написать свой мини-архиватор. Задача заключается в использовании только...

Indy 8 и Indy 10. Старая и новая версия
Есть строчки var c: char; myFile: file; HasChild: bool; s,RecvBuf,path: string; ...

16
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31467 / 20514 / 7988
Регистрация: 22.10.2011
Сообщений: 35,647
Записей в блоге: 7
14.02.2015, 14:58 2
Версия Дельфи/Билдера ни при чем. Нужно установить новую версию Indy. С той, что изначально идет в XE2, декомпрессия не работает, ни через свойство Compressor, ни через получение ответа сервера в поток и его декомпрессию вручную (с использованием DecompressGZipStream)
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 15:36  [ТС] 3
volvo, а какая версия на данный момент стабильная?
И нужно ли удалять версию,которая уже установлена в данный момент?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31467 / 20514 / 7988
Регистрация: 22.10.2011
Сообщений: 35,647
Записей в блоге: 7
14.02.2015, 16:30 4
Да, старую версию нужно удалить. Новую можно взять здесь: http://indy.fulgan.com/ZIP/
1
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 19:59  [ТС] 5
volvo, появилась маленькая проблема.
Visual Component Library: Вид изнутри, удаление и установка компонентов
Я создаю проектную группу, но файлы добавить в нее не могу. Как их нужно добавлять?
И еще : версии файлов использовать 16?
Миниатюры
GZip в Indy(XE2)  
0
Эксперт С++
8301 / 6131 / 614
Регистрация: 10.12.2010
Сообщений: 28,667
Записей в блоге: 30
14.02.2015, 20:22 6
Да а не легче среду разработки переставить нежели лепить другую инди?
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 20:30  [ТС] 7
Да а не легче среду разработки переставить нежели лепить другую инди?

Не по теме:

Avazart,проще купить другую машину, чем поменять колесо в старой?

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31467 / 20514 / 7988
Регистрация: 22.10.2011
Сообщений: 35,647
Записей в блоге: 7
14.02.2015, 20:55 8
Лучший ответ Сообщение было отмечено HelloWold как решение

Решение

Я не понял, а зачем ты создаешь группу-то? Она создана уже: "Indy160.groupproj" в папке Lib. Там есть все, что нужно.
1
Avazart
14.02.2015, 21:21
  #9

Не по теме:

Цитата Сообщение от HelloWold Посмотреть сообщение
Avazart,проще купить другую машину, чем поменять колесо в старой?
Запорожцу колесо от ферари лепить?

0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 22:49  [ТС] 10
volvo, как-то так :
Миниатюры
GZip в Indy(XE2)  
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 22:50  [ТС] 11
Я не понимаю. Все папки на месте и файлы тоже.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31467 / 20514 / 7988
Регистрация: 22.10.2011
Сообщений: 35,647
Записей в блоге: 7
14.02.2015, 23:09 12
Если у тебя не установлен Дельфи, а только Билдер (а судя по сообщению, именно так и есть) - то компилировать из IDE не получится, нужно использовать command-line compiler. Обрати внимание на FullC_XE2.bat (это как раз для C++ Builder-а)
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
14.02.2015, 23:24  [ТС] 13
volvo, то есть этот бат файл сделает сборку за меня?
Если так, то как поступить дальше? Ведь это,наверное,не все.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31467 / 20514 / 7988
Регистрация: 22.10.2011
Сообщений: 35,647
Записей в блоге: 7
14.02.2015, 23:35 14
А вот тут я ничем помочь не могу, у меня установлены обе Personality, я никогда не ставил Indy через эти bat-файлы, не знаю, что еще потребуется.

Кстати, если тебе интересно - поставил себе именно Indy10_5255 на Лазарус, попробовал запустить аналог твоего кода из первого сообщения. Все нормально, ошибки нет, декомпрессор работает.
1
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
15.02.2015, 00:17  [ТС] 15
volvo, выход один - перестановка среды?!

Добавлено через 6 минут
И ставить вместе с Delphi. Так?
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
16.02.2015, 19:06  [ТС] 16
Ну как-то так:
Миниатюры
GZip в Indy(XE2)  
0
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 83
16.02.2015, 21:44  [ТС] 17
С этой проблемой разобрался - тщательно почистил папки lib и include от компонентов старой версии инди.

Но вот беда, при компиляции IndySystem160.dpk появляется ошибка, которая на первом скрине.
IndyCore160.dpk,IndyProtocols160.dpk компилируются без проблем.
Далее, при инсталляции dclIndyCore160.dpk появляются ошибки. которые на скринах 2 и 3.
При инсталляции dclIndyProtocols160.dpk также ошибки, скрины 4 и 5 соответственно.

Все файлы на месте. В чем может быть проблема я не понимаю
Подсобите,пожалуйста, в решение данной проблемы.
Миниатюры
GZip в Indy(XE2)   GZip в Indy(XE2)   GZip в Indy(XE2)  

GZip в Indy(XE2)   GZip в Indy(XE2)  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2015, 21:44

GZip C++
Есть приложение на C# и сервер на C++. Задача: реализовать сжатие данных. Каким образом можно...

GZip
Как с помощью GZip(GZipStream) создаваать программным способом архивные тома(в одном архиве...

GZIP-сжатие
Возможно ли сжимать с помощью gzip и корректно отдавать браузеру статические html-файлы? ...

алгоритм GZIP
кто нибудь знает алгоритм сжатия GZIP? и как его на C++ реализовать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru