5
인터넷 리소스에서 버전 번호가 포함 된 텍스트 파일을 읽고 싶습니다. 그런 다음 스크립트에서이 버전 번호를 사용해야합니다.인터넷 자원에서 텍스트 파일을 읽는 방법은 무엇입니까?
InnoSetup에서이를 수행하는 방법은 무엇입니까?
인터넷 리소스에서 버전 번호가 포함 된 텍스트 파일을 읽고 싶습니다. 그런 다음 스크립트에서이 버전 번호를 사용해야합니다.인터넷 자원에서 텍스트 파일을 읽는 방법은 무엇입니까?
InnoSetup에서이를 수행하는 방법은 무엇입니까?
인터넷에서 InnoSetup으로 파일을 가져 오는 방법에는 여러 가지가 있습니다. 예를 들어 InnoTools Downloader
과 같은 외부 라이브러리를 사용하거나, 자체 라이브러리를 작성하거나, Windows COM 객체 중 하나를 사용할 수 있습니다. 다음 예제에서는 파일 수신에 WinHttpRequest
COM 개체를 사용했습니다.
이 스크립트의 DownloadFile
함수는 WinHTTP 함수가 예외를 발생시키지 않으면 True를 반환하고, 그렇지 않으면 False를 반환합니다. AURL
매개 변수로 지정된 URL에 대한 HTTP GET 요청의 응답 내용은 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;
TLama의 대답 (https://stackoverflow.com/a/22356942/2128797)이시 확장 : 스크립트가 예외에 실행에 실패하면,
AResponse
매개 변수는 예외 오류 메시지가 포함됩니다. –