Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Возможности библиотеки Wininet




Библиотека Wininet содержит следующие функции, которые будут использоваться программой для загрузки файлов из Internet с возможностью последующей дозагрузки:

1 Функция InternetOpen (lpszAgent: PChar; dwAccessType: DWORD; IpszProxyName, IpszProxyBypass: PChar; dwRags: DWORD): HINTERNET.

Эта функция открывает интернет-сессию для приложения.

Функция имеет следующие аргументы:

- lpszAgent – имя программы;

- dwAccessType – способ соединения (PRE_CONFIGJNTERNET_ACCESS – как в реестре, INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY – не использовать internet setup file, GATEWAY INTERNET ACCESS – через шлюз, CERN_PROXYJNTERNET_ACCESS – через прокси-сервер);

- IpszProxyName – имя прокси-сервера;

- pszProxyBypass – ограничения прокси-сервера;

- dwRags – режим работы (для простоты использования этот аргумент равен 0).

2 Функция lnternetOpenUrl (hinet: HINTERNET; IpszUrl: PChar; IpszHeaders: PChar; dwHeadersLength: DWORD; dwFlags: DWORD; dwContext: DWORD): HINTERNET.

Эта функция открывает заданный URL.

Функция имеет следующие аргументы:

- hinet – переменная типа HINTERNET, ее значение возвращает функция InternetOpen;

- IpszUrl – URL;

- IpszHeaders – дополнительные строки в HTTP запросе;

- dwHeadersLength – длина дополнительных строк.

3 Функция lnternetReadFile (hFile: HINTERNET; IpBuffer: Pointer; dwNumberOfBytesToRead: DWORD; var IpdwNumberOfBytesRead: DWORD): BOOL.

Эта функция читает удаленный файл.

Функция имеет следующие аргументы:

- hFile – значение предыдущей функции;

- IpBuffer – буфер, через который будет читаться файл, т.к. буфер это массив, то файл читается кусками, равными размеру этого массива объемом 1024 байта, т.е. один килобайт;

- dwNumberOfBytesToRead – какое количество байт необходимо прочесть, он должен быть равен размеру массива, т.е. 1024;

- IpdwNumberOfBytesRead – сколько действительно байт прочитано.

4 Функция InternetSetFilePointer (hFile: HINTERNET; IDistanceToMove: Longint; pReserved: Pointer; dwMoveMethod, dwContext: DWORD): DWORD; stdcall.

Эта функция сдвигает позицию чтения файла на заданное число байт. Другими словами, если надо прочитать файл не с начала, а с отметки 1000 байт, то надо пользоваться InternetSetFilePointer.

Функция имеет следующие аргументы:

- hFile – значение предыдущей функции.

- IDistanceToMove – на какое количество байт смещать указатель;

- pReserved – резерв, а само значение должно быть равно нулю;

- dwMoveMethod – способ смещения (FILE_BEGIN – с начала; FILE_END – с конца; FILECURRENT – с текущей позиции).

- dwContext – значение этого параметра должно быть равно 0.

Указанная функция и будет обеспечить «докачку» файлов из сети.

Если команда прервется, например, на отметке 1,2 Мб, то программа позволит вернуться на нужную позицию и продолжить скачивание с момента прерывания связи с сетью.

5 Функция InternetQueryDataAvailable (hFile: IpdwNumberOfBytesAvailable: DWORD; dwFlags, dwContext: DWORD): BOOL; stdcall; HINTERNET.

Эта функция выясняет объем доступных данных, т. е. размер запрашиваемого файла.

Функция имеет следующие аргументы:

- hFile – рассматривалась выше;

- IpdwNumberOfBytesAvailable – указывает доступные байты.

6 Функция InternetCloseHandle (hInet: HINTERNET): BOOL; stdcall.

Эта функция закрывает интернет-сессию.

Задание на работу

Необходимо разработать программу, обеспечивающую загрузку файлов из сети Internet по указанному URL адресу с последующей дозагрузкой.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных