Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.10.2017, 18:32   #11
Aqel
Пользователь
 
Аватар для Aqel
 
Регистрация: 07.05.2011
Адрес: Пермь
Сообщений: 17
Репутация: 10
По умолчанию

Ндаа.. беда, беда, может в XE есть какой то дополнительный параметр для этого?
__________________
Всё намного проще, чем есть на самом деле...
Aqel вне форума   Ответить с цитированием
Старый 12.10.2017, 21:05   #12
Black Fregat
Программист
Форумчанин
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 378
Репутация: 283
По умолчанию

Ну может он такой умный, что gzip на лету распаковал?
Black Fregat вне форума   Ответить с цитированием
Старый 12.10.2017, 21:57   #13
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: Санкт-Петербург
Сообщений: 716
Репутация: 335
По умолчанию

Код:

Ну может он такой умный, что gzip на лету распаковал

без этого не дает строку Content-Length, в первом примере без него, смотрите внимательнее примеры что выше, например пост #2

Вся фишка заключается в получении размера ресурса в IdHttp в XE не дает, а в D7 все нормально, gzip это для теста в получении размера ресурса.

Все заработал progressBar с gzip, в ProgressBar1.Max := AWorkcountMax; выдает нужный размер

Код:

procedure TForm1.IdHTTPWork(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Int64);
begin
  ProgressBar1.Position := AWorkCount;
end;

procedure TForm1.IdHTTPWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Int64);
begin
  ProgressBar1.Position := 0;
  ProgressBar1.Max := AWorkcountMax;
end;

procedure TForm1.IdHTTPWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
  ProgressBar1.Position := 0;
end;


//Ваш код
Function GEt_(Url:String): String;                    // Загрузка WEB в память
var
  mStream: TMemoryStream;
  IdHTTP1: TIdHTTP;
  Lst: TStrings;
  IdCompressorZLib: TIdCompressorZLib;
begin
  Result:= '';
  mStream:= TStringStream.Create;
  Lst:= TStringList.Create;
  try
    IdHTTP1:= TIdHTTP.Create(nil);
    IdCompressorZLib:= TIdCompressorZLib.Create(nil);
  { тут следует "настроить" параметры idHTTP }
    IdHTTP1.Request.Host:='mods.curse.com';
    IdHTTP1.HandleRedirects:= True;
    IdHTTP1.Request.Connection:= 'keep-alive';
    IdHTTP1.Request.Accept:= 'text/html';//,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    IdHTTP1.Request.AcceptEncoding:= 'gzip';
    IdHTTP1.Compressor:= IdCompressorZLib;
    IdHTTP1.Request.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.102 Safari/537.36';
    IdHTTP1.Request.ContentType:= 'application/x-www-form-urlencoded';
    IdHTTP1.Request.AcceptLanguage:= 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';

//Указываем функции для IdHTTP1 в которых будет работать прогрессбар
    IdHTTP1.OnWork:= Form1.IdHTTPWork;
    IdHTTP1.OnWorkBegin:= Form1.IdHTTPWorkBegin;
    IdHTTP1.OnWorkEnd:= Form1.IdHTTPWorkEnd;
    try
      IdHTTP1.Get(URL, mStream);
      mStream.Position:= 0;
      Lst.LoadFromStream(mStream);
      Result:= Lst.Text;
    finally
      IdHTTP1.Free;
      IdCompressorZLib.Free;
    end;
  finally
    mStream.Free;
    Lst.Free;
  end;
end;


Последний раз редактировалось Aliens_wolfs; 12.10.2017 в 23:49.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 13.10.2017, 08:38   #14
Aqel
Пользователь
 
Аватар для Aqel
 
Регистрация: 07.05.2011
Адрес: Пермь
Сообщений: 17
Репутация: 10
По умолчанию

СПАСИБО - ВСЁ ЗАРАБОТАЛО!
__________________
Всё намного проще, чем есть на самом деле...
Aqel вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прогрессбар bmp152 Компоненты Delphi 7 16.06.2013 23:50
Поток. Не получается создать поток. Выдает ошибки при запуске bigory Общие вопросы по Java, Java SE, Kotlin 3 23.09.2010 00:40
Добавить прогрессбар к потоку(поток в отдельном модуле, без формы) Человек_Борща Общие вопросы Delphi 2 21.05.2010 22:00
Прогрессбар... Лёка Общие вопросы Delphi 12 18.03.2010 15:41
помогите приделать прогрессбар. Mobile™ Общие вопросы Delphi 43 20.10.2009 11:10




18:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru