Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

spider = Chilkat::CkSpider.new()

# 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:
print spider.canonicalizeUrl("http://www.ChilkatSoft.com/") + "\n";

# CanonicalizeUrl will drop the HTML fragment:
print spider.canonicalizeUrl("http://www.chilkatsoft.com/purchase2.asp#buyZip") + "\n";

# If a username/password is in the URL, it gets dropped:
print spider.canonicalizeUrl("http://username:password@www.chilkatsoft.com/purchase2.asp#buyZip") + "\n";

# Port 80 and 443 are dropped:
print spider.canonicalizeUrl("http://www.chilkatsoft.com:80/purchase2.asp") + "\n";
print spider.canonicalizeUrl("https://www.paypal.com:443/") + "\n";

# 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
print spider.canonicalizeUrl("http://www.chilkatsoft.com/index.asp") + "\n";
print spider.canonicalizeUrl("http://www.chilkatsoft.com/index.asp") + "\n";
print spider.canonicalizeUrl("http://www.chilkatsoft.com/index.php") + "\n";
print spider.canonicalizeUrl("http://www.chilkatsoft.com/index.pl") + "\n";
print spider.canonicalizeUrl("http://www.chilkatsoft.com/index.htm") + "\n";

# 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