Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final spider = CkSpider();

  // 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/'));

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

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

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