Jak sprawdzić czy plik istnieje w internecie?

0

Chcę sprawdzić, czy dany plik (dokładny adres do niego) istnieje w INTERNECIE (nie na dysku, czy sieci lokalnej).
Przykładowo chcę sprawdzić czy dany plik istnieje: http://snapshot.opera.com/windows/o100s_1703m.exe .
FileExists nie działa dla zasobów globalnych, więc czym mogę to zrobić?

0

wysłać HEAD do serwera o plik?

0

A mógłbyś zaprezentować jak dokładnie mam to zrobić?

0

Nie wiem czy ta funkcja się przyda, ale sprawdza ona czy podany Url jest poprawny:

// do uses dodaj moduł WinInet;

function CheckUrl(Url: string): boolean;
var
  hSession, hfile : hInternet;
  dwindex, dwcodelen : DWORD;
  dwcode : array[1..20] of Char;
  Res : PChar;
begin
  if (Pos('http://', url) = 0) then
  Url := 'http://' + Url;
  Result := false;
  hSession := InternetOpen(Opera_UserAgent,
  INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (Assigned(hsession)) then
    begin
    hfile := InternetOpenUrl(hSession, PChar(Url), nil, 0,
    INTERNET_FLAG_RELOAD, 0);
    dwIndex := 0;
    dwCodeLen := 10;
    HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
    Res := PChar(@dwcode);
    Result := (Res = '200') or (Res = '302');
       if (Assigned(hfile)) then InternetCloseHandle(hfile);
       InternetCloseHandle(hsession);
    end;
end;
</delphi?

1 użytkowników online, w tym zalogowanych: 0, gości: 1