Недавно добавленные исходники

•  TDictionary Custom Sort  2 666

•  Fast Watermark Sources  2 538

•  3D Designer  4 175

•  Sik Screen Capture  2 850

•  Patch Maker  3 054

•  Айболит (remote control)  2 885

•  ListBox Drag & Drop  2 482

•  Доска для игры Реверси  74 538

•  Графические эффекты  3 305

•  Рисование по маске  2 530

•  Перетаскивание изображений  2 118

•  Canvas Drawing  2 184

•  Рисование Луны  2 120

•  Поворот изображения  1 692

•  Рисование стержней  1 725

•  Paint on Shape  1 208

•  Генератор кроссвордов  1 795

•  Головоломка Paletto  1 442

•  Теорема Монжа об окружностях  1 800

•  Пазл Numbrix  1 343

•  Заборы и коммивояжеры  1 607

•  Игра HIP  1 096

•  Игра Go (Го)  1 054

•  Симулятор лифта  1 215

•  Программа укладки плитки  1 009

•  Генератор лабиринта  1 315

•  Проверка числового ввода  1 081

•  HEX View  1 260

•  Физический маятник  1 127

•  Задача коммивояжера  1 166

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как скачать файл через Proxy



- Сынок! Сколько раз тебе говорить, что я тебя родила, а не скачала из интернета!!!


DownloadFile('http://some.com/some.zip', 'c:\some.zip');

function DownloadFile(const FileURL, FileName: String): Cardinal;
var
  hSession, hFile: HInternet;
  Buffer: array[1..1024] of Byte;
  BufferLen, fSize: LongWord;
  f: File;
begin
  Result := 0;
  hSession := InternetOpen('STEROID Download',
                           INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if Assigned(hSession) then begin
    hFile := InternetOpenURL(hSession, PChar(FileURL), nil, 0,
                             INTERNET_FLAG_RELOAD, 0);
    if Assigned(hFile) then begin
      AssignFile(f, FileName);
      Rewrite(f,1);
      fSize := 0;
      repeat
        InternetReadFile(hFile, @Buffer, SizeOf(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen);
        fSize := fSize + BufferLen;
      until (BufferLen = 0);
      CloseFile(f);
      Result := fSize;
      InternetCloseHandle(hFile);
    end;
    InternetCloseHandle(hSession);
  end;
end;

Комментарий:


function InternetOpen(lpszAgent: PChar;
                      dwAccessType: DWORD;
                      lpszProxy, lpszProxyBypass: PChar;
                      dwFlags: DWORD): HINTERNET; stdcall;


  • lpszAgent - строка символов, которая передается серверу и идентифицирует программное обеспечение, пославшее запрос.
  • dwAccessType
    • INTERNET_OPEN_TYPE_DIRECT : обрабатывает все имена хостов локально.
    • INTERNET_OPEN_TYPE_PRECONFIG : берет установки из реестра.
    • INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY - берет установки из реестра и предотвращает запуск Jscript или Internet Setup (INS) файлов.
    • ! INTERNET_OPEN_TYPE_PROXY : использование прокси-сервера. В случае неудачи использует INTERNET_OPEN_TYPE_DIRECT.
  • LpszProxy - адрес прокси-сервера. Игнорируется только если параметр dwAccessType отличается от INTERNET_OPEN_TYPE_PROXY.
  • LpszProxyBypass - список имен или IP- адресов, соединяться с которыми нужно в обход прокси-сервера. В списке допускаются шаблоны. Так же, как и предыдущий параметр, не может содержать пустой строки. Если dwAccessType отличен от INTERNET_OPEN_TYPE_PROXY, то значения игнорируются, и параметр можно установить в nil.
  • DwFlags задает параметры, влияющие на поведение Internet- функций. Возможно применение комбинации из следующих разрешенных значений: INTERNET_FLAG_ASYNC, INTERNET_FLAG_FROM_CACHE, INTERNET_FLAG_OFFLINE.




Похожие по теме исходники

Чтение PSD файлов

Шифратор файлов

Разбиение файла на части

Поиск файлов

 

FileMan (менеджер файлов)

Поиск открытых файлов

Текст внутри файла

RSA шифрование через OpenSSL

 

Alternative HTTP-Proxy

GpHTTP Proxy

Mapping Proxy

Proxy 1.0 (прокси-сервер)

 

Proxy Load




Copyright © 2004-2023 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте