这是从HTTP GET请求获取字符串的方法:
function WebGetData(const UserAgent: string; const Server: string;
const Resource: string): string; overload;
var
hInet: HINTERNET;
hURL: HINTERNET;
Buffer: array[0..1023] of AnsiChar;
i, BufferLen: cardinal;
begin
result := '';
hInet := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
if hInet = nil then RaiseLastOSError;
try
hURL := InternetOpenUrl(hInet, PChar('http://' + Server + Resource),
nil, 0, 0, 0);
if hURL = nil then RaiseLastOSError;
try
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
if BufferLen = SizeOf(Buffer) then
result := result + AnsiString(Buffer)
else if BufferLen > 0 then
for i := 0 to BufferLen - 1 do
result := result + Buffer[i];
until BufferLen = 0;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hInet);
end;
end;
Run Code Online (Sandbox Code Playgroud)
这就是我自己的软件AlgoSim检查更新的方式.比如试试吧
ShowMessage(WebGetData('My User Agent', 'services.rejbrand.se',
'/algosim/update/ver.asp'));
Run Code Online (Sandbox Code Playgroud)
Delphi附带Indy组件.您可以使用组件的Get()方法TIdHTTP将文件内容下载到String例如:
var
Version: String;
begin
Version := IdHTTP1.Get('http://url_here');
...
end;
Run Code Online (Sandbox Code Playgroud)