PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkSpider.pb"
Procedure ChilkatExample()
spider.i = CkSpider::ckCreate()
If spider.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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:
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.ChilkatSoft.com/")
; CanonicalizeUrl will drop the HTML fragment:
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com/purchase2.asp#buyZip")
; If a username/password is in the URL, it gets dropped:
Debug CkSpider::ckCanonicalizeUrl(spider,"http://username:password@www.chilkatsoft.com/purchase2.asp#buyZip")
; Port 80 and 443 are dropped:
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com:80/purchase2.asp")
Debug CkSpider::ckCanonicalizeUrl(spider,"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
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com/index.asp")
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com/index.asp")
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com/index.php")
Debug CkSpider::ckCanonicalizeUrl(spider,"http://www.chilkatsoft.com/index.pl")
Debug CkSpider::ckCanonicalizeUrl(spider,"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
CkSpider::ckDispose(spider)
ProcedureReturn
EndProcedure