Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закачка ф-ла по HTTP [D6, Win2k]


Ярослав ©   (2002-06-19 16:25:00) 

Доброго дня всем!

Задача: пребуется получить ф-л с IP камеры, т.е. картинку по ссылке. ссылка тут ( http://62.117.124.10/cgi-bin/hugesize.jpg?camera=4&compression=2)
проблема: с компонентом TNMHTTP все работает великолепно. Файл размера более 35 кбайт. Пытаюсь программировать с Win API. Использую ф-ции в такой последовательности:
InternetOpen
InternetConnect
HttpOpenRequest
HttpSendRequest
HttpQueryInfo
InternetReadFile
CloseHandles
При скачки статичных файлов все работает великолепно, а при скачке данной ссылки я получаю только 3.74 кбайта.
Если кто знает помогите!
Спасибо


serd_hhc   (2002-06-20 06:36:00) [1]

Мне тут Anatily Podgoretsky посоветовал:

uses Wininet;
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;

.....

DownLoadfile(" http://62.117.124.10/cgi-bin/hugesize.jpg?camera=4&compression=2","C:\1.jpg")


Наверх

Титульная страница Поиск, карта сайта Написать письмо