ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 29.04.2008, 22:50
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


Отправить сообщение для zl0y с помощью ICQ
По умолчанию

Цитата:
Сообщение от desTiny  
что-нть типа:
Код:
function DownloadFile(const Url: string): string;
var
  NetHandle: HINTERNET;
  UrlHandle: HINTERNET;
  Buffer: array[0..1024] of char;
  BytesRead: cardinal;
begin
  Result := '';
  NetHandle := InternetOpen('Delphi 7.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  if Assigned(NetHandle) then
    begin

    UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

    if Assigned(UrlHandle) then
      { UrlHandle правильный? Начинаем загрузку } 
      begin 
      FillChar(Buffer, SizeOf(Buffer), 0); 
      repeat
        Result := Result + Buffer;
        FillChar(Buffer, SizeOf(Buffer), 0);
        InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
      until BytesRead = 0; 
      InternetCloseHandle(UrlHandle); 
      end 
    else 
      begin 
      { UrlHandle неправильный. Генерируем исключительную ситуацию. } 
      raise Exception.CreateFmt('Cannot open URL %s', [Url]); 
      end;

    InternetCloseHandle(NetHandle); 
    end 
  else 
    { NetHandle недопустимый. Генерируем исключительную ситуацию } 
    raise Exception.Create('Unable to initialize Wininet'); 
end;
В процессе размер в BytesRead..
Конечно, не совсем то, но всё же...

PS И не такое уж и гавно wininet А с сокетами работать надо ОсТоРоЖнО
У меня тоже самое уже есть раза 3 на wininet и 2 на winsock'e,кстати флаг надо ставить чтобы не писал в кеш! Просто надоело подгонять winsock под ответы серверов и коды типо 302 moved here and e.t.c думаю,надо просто сесть и написать это норм а не страдать хней с wininet'ом



Цитата:
UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil,
ВОт тут то и пауза если сервак не пашет,думаю надо все делать через потоки т.к установить таймаут для коннекта мне не удалось.
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ