Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Content-Encoding: gzip 
:(
    Опции темы
astako
Дата 5.4.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.12.2007

Репутация: нет
Всего: нет



Код

program DownloadLink;

uses
  windows, wininet, zlib;

{$R *.res}


var
  hI, hConnect, hFile: HInternet;
  HEADERS: String;
  L, ReadedSize: Cardinal;
  InBuf: PChar;
  OutBuf: Pointer;
  i,InBytes,OutBytes: integer;
begin

  Headers:='Accept: */*'#13#10+
           'Accept-Language: ru'#13#10+
           'Accept-Encoding: gzip, deflate'#13#10+
           'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'#13#10+
           'Host: www.google.com.ua'#13#10+
           'Connection: Keep-Alive'#13#10;

  hI:=InternetOpen('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', INTERNET_OPEN_TYPE_PRECONFIG , nil, nil, 0);
  hConnect:=InternetConnect(hI, 'www.google.com.ua', 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
  hFile:=HTTPOpenRequest(hConnect, 'GET', '/', HTTP_VERSION, nil, nil, INTERNET_FLAG_NO_COOKIES or INTERNET_FLAG_NO_AUTO_REDIRECT, 0);
  HTTPSendRequest(hFile, @HEADERS[1], Length(HEADERS), nil, 0);

  GetMem(InBuf,65535);

  i:=0;
  while True do
  begin
    InternetQueryDataAvailable(hFile, L, 0, 0);
    if L=0 then break;
    if NOT InternetReadFile(hFile, @InBuf[i], L, ReadedSize) then break;
    inc(i, ReadedSize);
  end;
  InBytes:=i;

  InternetCloseHandle(hFile);
  InternetCloseHandle(hConnect);
  InternetCloseHandle(hI);

  OutBuf:=nil;
  DeCompressBuf(InBuf,InBytes,0,OutBuf,OutBytes);

  FreeMem(InBuf);
end.


При DeCompressBuff вылетает с ошибкой "Exception EDecompressionError in module DownloadLink.exe at 00018A4C. error."
При этом "Content-Encoding: gzip". Использую Delphi 6.
Убрать 'Accept-Encoding: gzip, deflate' в запросе - не выход, нужно именно разжать данные.
Как правильно разжать буфер (TSream использовать не желательно) используя zlib?
Так же буду рад примеру разжатия используя urlmon (IDataFilter).
Заранее спасибо.
PM MAIL   Вверх
MetalFan
Дата 5.4.2008, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



возможно InBytes>65535


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
astako
Дата 6.4.2008, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.12.2007

Репутация: нет
Всего: нет



Цитата(MetalFan @ 5.4.2008,  18:16)
возможно InBytes>65535

нет, там намного меньше.
PM MAIL   Вверх
MetalFan
Дата 6.4.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Цитата(astako @  5.4.2008,  12:06 Найти цитируемый пост)
с ошибкой "Exception EDecompressionError

а, ну так значит не может оно распаковать эти данные...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.