Да, вы можете.
function WebGetData(const UserAgent: string; const Server: string; const Resource: string): AnsiString;
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);
try
hURL := InternetOpenUrl(hInet, PChar('http://' + Server + Resource), nil, 0, 0, 0);
try
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
result := result + AnsiString(Buffer);
if BufferLen < SizeOf(Buffer) then
SetLength(result, length(result) + BufferLen - SizeOf(Buffer));
until BufferLen = 0;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hInet);
end;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
Memo1.Text := WebGetData('My Application', 'www.rejbrand.se', '');
end;
Обратите внимание, что приведенный выше код работает только с текстом ASCII. Чтобы получить решение UTF-8, замените AnsiString
на string
в подписи и замените вторую строку в блоке repeat
на
result := result + UTF8ToString(AnsiString(Buffer));
и настройте SetLength
.