Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
CanonicalizeUrl
See more Spider Examples
The CanonicalizeUrl method is a utility function that canonicalizes a URL into a standard form to avoid duplicates. For example, "http://www.chilkatsoft.com/" and "http://www.chilkatsoft.com/default.asp" are the same URL.Chilkat Pascal (Lazarus/Delphi) 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.Spider;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
spider: TSpider;
begin
spider := TSpider.Create;
// Does a DNS lookup to find the default domain, which may or may not include the "www." depending on the DNS results.
// Also domain names are converted to lowercase:
WriteLn(spider.CanonicalizeUrl('http://www.ChilkatSoft.com/'));
// CanonicalizeUrl will drop the HTML fragment:
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/purchase2.asp#buyZip'));
// If a username/password is in the URL, it gets dropped:
WriteLn(spider.CanonicalizeUrl('http://username:password@www.chilkatsoft.com/purchase2.asp#buyZip'));
// Port 80 and 443 are dropped:
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com:80/purchase2.asp'));
WriteLn(spider.CanonicalizeUrl('https://www.paypal.com:443/'));
// Removes default pages:
// default.asp, index.html, index.htm, default.html, index.htm, default.htm
// index.php, index.asp, default.php, .cfm, .aspx, ,php3, .pl, .cgi, .txt, .shtml, .phtml
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/index.asp'));
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/index.asp'));
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/index.php'));
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/index.pl'));
WriteLn(spider.CanonicalizeUrl('http://www.chilkatsoft.com/index.htm'));
// Output:
// http://chilkatsoft.com/
// http://chilkatsoft.com/purchase2.asp
// http://chilkatsoft.com/purchase2.asp
// http://chilkatsoft.com/purchase2.asp
// https://www.paypal.com/
// http://chilkatsoft.com/
// http://chilkatsoft.com/
// http://chilkatsoft.com/
// http://chilkatsoft.com/
// http://chilkatsoft.com/
spider.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.