UrlDownloadToFile Delphi
Напиши свою функцижю скачивания
Как этого избежать используя именно эту функцию?
было
стало
было
стало
числа рандомом ставить?
Ну да. Или вообще туда гуид пиши, чтобы гарантировано повторений не было.
а что такое гуид?
GUID глобально уникальный идентефикатор. неповторимая комбинация
a как им воспользоваться им в Delphi?
uses SysUtils;
...
var guid:TGuid;
...
CreateGuid(guid);
WriteLn(GuidToString(guid;
{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;
DeleteUrlCacheEntry
Оставить комментарий
Natusik09
Для загрузки файлов по http я использую функцию UrlDownloadToFile. Вот кусочек прогиwhile(true) do
UrlDownloadToFile(nil, Source, DestFile, 0, nil);
Но она скачивает файл оди раз, а потом грузит его из кеша. Как этого избежать?