UrlDownloadToFile Delphi

Natusik09

Для загрузки файлов по http я использую функцию UrlDownloadToFile. Вот кусочек проги
while(true) do
UrlDownloadToFile(nil, Source, DestFile, 0, nil);
Но она скачивает файл оди раз, а потом грузит его из кеша. Как этого избежать?

kruzer25

Напиши свою функцижю скачивания

Natusik09

Как этого избежать используя именно эту функцию?

Helga87

Модифицируй url типа:
было
стало
было
стало

Natusik09

числа рандомом ставить?

Helga87

Ну да. Или вообще туда гуид пиши, чтобы гарантировано повторений не было.

Natusik09

а что такое гуид?

tiva

GUID глобально уникальный идентефикатор. неповторимая комбинация

Natusik09

a как им воспользоваться им в Delphi?

Helga87

Очень похоже, что так:

uses SysUtils;
...
var guid:TGuid;
...
CreateGuid(guid);
WriteLn(GuidToString(guid;

rosali


{3. Forces a download of the requested file, object, or directory listing from the origin server,
not from the cache
}
function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean;
var
hSession: HINTERNET;
hService: HINTERNET;
lpBuffer: array[0..1024 + 1] of Char;
dwBytesRead: DWORD;
begin
Result := False;
s := '';
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hSession) then
begin
hService := InternetOpenUrl(hSession, PChar(aUrl nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(hService) then
try
while True do
begin
dwBytesRead := 1024;
InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
if dwBytesRead = 0 then break;
lpBuffer[dwBytesRead] := #0;
s := s + lpBuffer;
end;
Result := True;
finally
InternetCloseHandle(hService);
end;
end;
finally
InternetCloseHandle(hSession);
end;
end;

rosali

Вот еще
 DeleteUrlCacheEntry 
Оставить комментарий
Имя или ник:
Комментарий: