Sample code for 30+ languages & platforms
B4X

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 B4X Downloads

B4X
Dim spider As ChilkatSpider
spider.Initialize("spider")

'  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:
Log(spider.CanonicalizeUrl("http://www.ChilkatSoft.com/"))

'  CanonicalizeUrl will drop the HTML fragment:
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com/purchase2.asp#buyZip"))

'  If a username/password is in the URL, it gets dropped:
Log(spider.CanonicalizeUrl("http://username:password@www.chilkatsoft.com/purchase2.asp#buyZip"))

'  Port 80 and 443 are dropped:
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com:80/purchase2.asp"))
Log(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
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com/index.asp"))
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com/index.asp"))
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com/index.php"))
Log(spider.CanonicalizeUrl("http://www.chilkatsoft.com/index.pl"))
Log(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/