Lazarus Pascal
Lazarus Pascal
Example: Http.ExtractMetaRefreshUrl method
Demonstrates theExtractMetaRefreshUrl method.
Chilkat Lazarus Pascal Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.StringBuilder,
Chilkat.Http;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
http: THttp;
sb: TStringBuilder;
bCrlf: Boolean;
url: string;
begin
success := False;
http := THttp.Create;
// Sample HTML with a META refresh.
// <!DOCTYPE html>
// <html lang="en">
// <head>
// <meta charset="utf-8" />
// <meta http-equiv="refresh" content="5; url=https://example.com" />
// <title>Meta Refresh Redirect</title>
// </head>
// <body>
// <p>Redirecting to example.com in 5 seconds�</p>
// </body>
// </html>
sb := TStringBuilder.Create;
bCrlf := True;
sb.AppendLine('<!DOCTYPE html>',bCrlf);
sb.AppendLine('<html lang="en">',bCrlf);
sb.AppendLine('<head>',bCrlf);
sb.AppendLine(' <meta charset="utf-8" />',bCrlf);
sb.AppendLine(' <meta http-equiv="refresh" content="5; url=https://example.com" />',bCrlf);
sb.AppendLine(' <title>Meta Refresh Redirect</title>',bCrlf);
sb.AppendLine('</head>',bCrlf);
sb.AppendLine('<body>',bCrlf);
sb.AppendLine(' <p>Redirecting to example.com in 5 seconds�</p>',bCrlf);
sb.AppendLine('</body>',bCrlf);
sb.AppendLine('</html>',bCrlf);
url := http.ExtractMetaRefreshUrl(sb.GetAsString());
if (http.LastMethodSuccess = False) then
begin
WriteLn('The HTML has no META refresh tag.');
end
else
begin
WriteLn('META refresh URL: ' + url);
end;
http.Free;
sb.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.