Как прочитать текстовый файл с интернет-ресурса?

Я хотел бы прочитать текстовый файл, содержащий номер версии с интернет-ресурса. Затем мне нужно использовать этот номер версии в моем скрипте.

Как это сделать в InnoSetup?

1 ответ

Решение

Есть много способов, как получить файл из Интернета в InnoSetup. Вы можете использовать внешнюю библиотеку, как, например, InnoTools Downloader написать свою собственную библиотеку или использовать один из объектов Windows COM. В следующем примере я использовал WinHttpRequest COM-объект для приема файлов.

DownloadFile Функция в этом сценарии возвращает True, когда функции WinHTTP не вызывают никаких исключений, иначе False. Содержимое ответа HTTP-запроса GET на URL-адрес, указанный AURL Затем параметр передается объявленному AResponse параметр. Когда скрипт не запускается по исключению, AResponse Параметр будет содержать сообщение об ошибке исключения:

[Code]
function DownloadFile(const AURL: string; var AResponse: string): Boolean;
var
  WinHttpRequest: Variant;
begin
  Result := True;
  try
    WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
    WinHttpRequest.Open('GET', AURL, False);
    WinHttpRequest.Send;
    AResponse := WinHttpRequest.ResponseText;
  except
    Result := False;
    AResponse := GetExceptionMessage;
  end;
end;

procedure InitializeWizard;
var
  S: string;
begin
  if DownloadFile('http://www.example.com/versioninfo.txt', S) then
    MsgBox(S, mbInformation, MB_OK)
  else
    MsgBox(S, mbError, MB_OK)
end;
Другие вопросы по тегам