На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Как проверить есть ли на сайте тот или иной файл ? (по HTTP)
    Нужно проверять есть ли например файл по адресу - http://www.example.com/1.rar . Подскажите плз как ето сделать
      как-то так...
      но только это проверка на не то: существует файл или нет, а доступен файл или нет с внешки...

      ExpandedWrap disabled
        program IsFileExists;
         
        {$APPTYPE CONSOLE}
         
        uses
          SysUtils,
          WinInet;
         
        var
          FSession, FConnect: HINTERNET;
          StatusCode, Len, Res: Cardinal;
        begin
          try
            FSession := InternetOpen('', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
            if not Assigned(FSession) then Exit;
            try
              FConnect := InternetOpenUrl(FSession,
                'http://rouse.drkb.ru/other/vista.jpg', nil, 0, 0, 0);
              if not Assigned(FConnect) then Exit;
              try
                Len := 4;
                StatusCode := 0;
                Res := 0;
                HttpQueryInfo(FConnect, HTTP_QUERY_STATUS_CODE or
                  HTTP_QUERY_FLAG_NUMBER, @StatusCode, Len, Res);
                // если сервер на запрос вернул 200 - файл сущетвует
                writeln(StatusCode = 200);
                readln;
              finally
                InternetCloseHandle(FConnect);
              end;
            finally
              InternetCloseHandle(FSession);
            end;
          except
            on E:Exception do
              Writeln(E.Classname, ': ', E.Message);
          end;
        end.
        Спасибо, работает !
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0257 ]   [ 16 queries used ]   [ Generated: 27.04.24, 16:45 GMT ]