| 
| 
 | Вопрос # 434/ вопрос открыт / | 
 |  Всем Привет!Не могу разобраться почему не качает.
 Помогите
 Приложение:Переключить в обычный режим  s := ExtractUrlFileName(Memo1.Lines.Strings[0]);  Edit1.Text:= (Memo1.Lines.Strings[0]);  lStream := TFileStream.Create(DirName+''+s, fmCreate);  Application.ProcessMessages; try  IDHTTP1.Connect(); idHTTP1.Get(Edit1.Text, lStream); IdHTTP1.Disconnect; except  on  EIdHostRequired do begin lStream.Free; 
|  |   Вопрос задал: Vit2 (статус: Посетитель)Вопрос отправлен: 25 марта 2007, 21:55
 Состояние вопроса: открыт, ответов: 2.
 |  Ответ #1. Отвечает эксперт: min@y™ C компонентами Indy я не работал, поэтому здесь помочь не могу. Однако, я, давно ещё, ради развлечения и убийства времени написал простенькую программку по закачиванию свежих креативов с udaff.com :). Вот ссылки:EXE-файл: http://sourceviewer.narod.ru/downloads/udaff32.7z
 Исходиники на Delphi:
 http://sourceviewer.narod.ru/downloads/udaff32_src.7z
 
 Посмотри, может поможет.
 
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 26 марта 2007, 09:29
 
 |  Ответ #2. Отвечает эксперт: Вадим К Если вы с https начали качать, то может и не качать. Там ещё один компонент бросать надо.А так, код вроде жизнеспособный, поэтому, приведите урл, откудова качаете, может он мёртвый или требует кукисов или сесии. во вторых, проверте, а файл действетельно может создастся. Каталог dir должен существовать.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 26 марта 2007, 11:23
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 28; последнее сообщение — 27 марта 2007, 14:44; участников в обсуждении: 2. Страницы: [1] [2] [Следующая »]  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 11:59 [#1]:Всем Привет! Этот код работает с Delphi 6
 try
 with idHTTP1 do begin
 Application.ProcessMessages;
 Get(Edit1.Text, lStream);
 end;
 IdHTTP1.Disconnect;
 Memo1.Lines.Delete(0);
 if Memo1.Lines.Count<>0 then
 begin
 StartButton.Click;
 end;
 except
 on EIdConnClosedGracefully do
 lStream.Free;
 on E: EIdProtocolReplyError do begin
 lStream.Free;
 MessageDlg(WideFormat(sError, [E.Message]), mtError, [mbOK], 0);
 end;
 A Delphi7, BDS2006 не хочет
 Выскакивает вот такое сообщение
 The requested IPversion Address family is not supported
 Делаю
 try
 IDHTTP1.Connect;
 except
 Сообщение не выскакивает но и не качает
 |  
|   | Вадим К (статус: Академик), 26 марта 2007, 12:06 [#2]:дело в том, что в 6 и 7 и 2005 делфи различные версии инди. Код не всегда "легко портируется" Ну хотя бы адрес приведите, откудова качаете.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Вадим К (статус: Академик), 26 марта 2007, 14:31 [#4]:Только что на 2006 делфи обкатал ваш код. Строка
 StartButton.Click;
 Вызвала приступ смеха, так как так непишут. Наиболее коректно - StartButtonOnClick(Sender);
 Сам алгоритм рекурсивный тоже порадовал.
 
 Но самое удивительное, что код качает. Файл слит нормально. Вариантов два. Либо в настройках компонента что то перестарались, либо у вас стоит программа (фаервол оутпост к примеру) который делает днс сервер. адрес в кеше левый - портит всю малину
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 15:03 [#5]:Дайте мне ваш код рабочий,я попробую. У меня Windows XP SP2 и Касперский 6
 |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 15:05 [#6]:А того нет? The requested IPversion Address family is not supported
 |  
|   | Вадим К (статус: Академик), 26 марта 2007, 15:18 [#7]:нет. Чудно качает. Перечудили что то в настройках компонента. Создайте новый проект и не настраивайте компонент, добавте ваш код. 
 З.Ы. Каспер - это ещё та гадость. Чудит такое, что половина нормальных программеров жахается (другая половина пользуется
  ) Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 15:25 [#8]:Я в настройках компонента ни чего не трогал |  
|   | Вадим К (статус: Академик), 26 марта 2007, 15:31 [#9]:выключаем каспера, потом встроенный брендмауэр. Если сидим через прокси - курим настройки прокси. Если это не помогает - идём к патологоанатому
   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 18:42 [#10]:Прокси нет 5 минут назад качал сейчас вот
 The requested IPversion Address family is not supported
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
 lStream: TFileStream;
 begin
 lStream := TFileStream.Create('C:\'+Edit2.Text, fmCreate);
 try
 with idHTTP1 do begin
 Application.ProcessMessages;
 Get(Edit1.Text, lStream);
 end;
 finally
 
 end;
 end;
 
 procedure TForm1.Button2Click(Sender: TObject);
 begin
 Close;
 end;
 
 procedure TForm1.Button3Click(Sender: TObject);
 begin
 try
 IDHTTP1.Disconnect;
 finally
 
 end;
 end;
 
 procedure TForm1.IdHTTP1Status(ASender: TObject; const AStatus: TIdStatus;
 const AStatusText: string);
 begin
 Label2.Caption := AStatusText;
 end;
 
 procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
 AWorkCount: Integer);
 begin
 if AWorkMode = wmRead then
 Application.ProcessMessages;
 ProgressBar1.Position := AWorkCount;
 end;
 
 procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
 AWorkCountMax: Integer);
 begin
 if AWorkMode = wmRead then
 Application.ProcessMessages;
 ProgressBar1.Max := AWorkCountMax;
 end;
 
 procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
 begin
 ProgressBar1.Position:= 0;
 end;
 
 end.
 |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 18:44 [#11]:Одним словом "Дурь" |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 18:46 [#12]:Брендмауэр и Каспера отключал |  
|   | Вадим К (статус: Академик), 26 марта 2007, 18:53 [#13]:Скорее всего, это проблема dns сервера. И в коде проблем вроде нет. Попробуйте к серверам обращаться по айпишнику, к примеру
 Name:    www.pistonsoft.com
 Address:  209.216.201.12
 Если ошибки будут повторятся, тогда надо будет думать.
 
 З.Ы. У вас не виста и/или IPv6?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 26 марта 2007, 18:54 [#14]:Каким компонентом можно ещё качать из палитры BDS2006 ?
 |  
|   | Вадим К (статус: Академик), 26 марта 2007, 19:02 [#15]:Вы забыли наверное дописать "по HTTP"? Со стандартными наверное никак. А вот если на тори зайти (www.torry.net) то можно наверное что то и подыскать
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 27 марта 2007, 13:22 [#16]:Привет! Я нашол компонент,похож на Indy.
 Только не пойму как заставить ProgerssBar работать
 Read:Integer;
 Total:Integer;
 |  
|   | Вадим К (статус: Академик), 27 марта 2007, 13:27 [#17]:Я тоже не сильно помогу - написали бы хотя бы название. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Vit2 (статус: Посетитель), 27 марта 2007, 13:35 [#18]:procedure TRapForm.StartButtonClick(Sender: TObject); var
 RH: TALHTTPResponseHeader;
 lStream: TFileStream;
 dirName : String;
 begin
 try
 RH:= TALHTTPResponseHeader.Create;
 try
 lStream := TFileStream.Create(DirName+'\'+s, fmCreate);
 try
 application.ProcessMessages;
 HTTP1.Get(Edit4.Text,lStream,RH);
 Finally
 HTTP1.Disconnect;
 RH.Free;
 lStream.Free;
 end
 except
 end;
 finally
 end;
 end;
 end;
 procedure TRapForm.HTTP1DownloadProgress(sender: TObject; Read,
 Total: Integer);
 begin
 application.ProcessMessages;
 Label14.Caption:= BytesToStr (Total);
 Label2.Caption:= BytesToStr (Read);
 end;
 
 Компонент называется ALWininetHttpClient
 |  
|   | Vit2 (статус: Посетитель), 27 марта 2007, 13:37 [#19]:Качает нормально,Total,Read показывает. А вот как прогресс отобразить?
 |  
|   | Вадим К (статус: Академик), 27 марта 2007, 13:42 [#20]:Это Label14.Caption:= BytesToStr (Total);
 Label2.Caption:= BytesToStr (Read);
 Заменить на это
 ProgressBar1.Max := Total;
 ProgressBar1.Position := Read;
 Правда тут есть одна заковырка, большие значение в прогресс бар можно и не затолкать. Но не помню точно, эксперементировать надо.
 Галочка "подтверждения прочтения" - вселенское зло. |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |