Как прочитать текстовый файл с интернет-ресурса?
Я хотел бы прочитать текстовый файл, содержащий номер версии с интернет-ресурса. Затем мне нужно использовать этот номер версии в моем скрипте.
Как это сделать в 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;