Sample code for 30+ languages & platforms
C

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

C
#include <C_CkSpider.h>

void ChilkatSample(void)
    {
    HCkSpider spider;

    spider = CkSpider_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:
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.ChilkatSoft.com/"));

    //  CanonicalizeUrl will drop the HTML fragment:
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com/purchase2.asp#buyZip"));

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

    //  Port 80 and 443 are dropped:
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com:80/purchase2.asp"));
    printf("%s\n",CkSpider_canonicalizeUrl(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
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com/index.asp"));
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com/index.asp"));
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com/index.php"));
    printf("%s\n",CkSpider_canonicalizeUrl(spider,"http://www.chilkatsoft.com/index.pl"));
    printf("%s\n",CkSpider_canonicalizeUrl(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_Dispose(spider);

    }