Url C Reference Documentation

Url

Current Version: 9.5.0.97

Provides an object representation of a URL and easy access to the parts of the URL.

Create/Dispose

HCkUrl instance = CkUrl_Create();
// ...
CkUrl_Dispose(instance);
HCkUrl CkUrl_Create(void);

Creates an instance of the HCkUrl object and returns a handle ("void *" pointer). The handle is passed in the 1st argument for the functions listed on this page.

void CkUrl_Dispose(HCkUrl handle);

Objects created by calling CkUrl_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function. Also, any handle returned by a Chilkat "C" function must also be freed by the application by calling the appropriate Dispose method, such as CkUrl_Dispose.

Properties

Frag
void CkUrl_getFrag(HCkUrl cHandle, HCkString retval);
const char *CkUrl_frag(HCkUrl cHandle);
Introduced in version 9.5.0.49

Contains any text following a fragment marker (#) in the URL, excluding the fragment marker. Given the URI http://www.contoso.com/index.htm#main, the fragment is "main".

top
Host
void CkUrl_getHost(HCkUrl cHandle, HCkString retval);
const char *CkUrl_host(HCkUrl cHandle);
Introduced in version 9.5.0.49

The DNS host name or IP address part of the URL. For example, if the URL is "http://www.contoso.com:8080/", the Host is "www.contoso.com". If the URL is "https://192.168.1.124/test.html", the Host is "192.168.1.124".

More Information and Examples
top
HostType
void CkUrl_getHostType(HCkUrl cHandle, HCkString retval);
const char *CkUrl_hostType(HCkUrl cHandle);
Introduced in version 9.5.0.49

The type of the host name specified in the URL. Possible values are:

  • "dns": The host name is a domain name system (DNS) style host name.
  • "ipv4": The host name is an Internet Protocol (IP) version 4 host address.
  • "ipv6": The host name is an Internet Protocol (IP) version 6 host address.

top
LastMethodSuccess
BOOL CkUrl_getLastMethodSuccess(HCkUrl cHandle);
void CkUrl_putLastMethodSuccess(HCkUrl cHandle, BOOL newVal);

Indicate whether the last method call succeeded or failed. A value of TRUE indicates success, a value of FALSE indicates failure. This property is automatically set for method calls. It is not modified by property accesses. The property is automatically set to indicate success for the following types of method calls:

  • Any method that returns a string.
  • Any method returning a Chilkat object, binary bytes, or a date/time.
  • Any method returning a standard boolean status value where success = TRUE and failure = FALSE.
  • Any method returning an integer where failure is defined by a return value less than zero.

Note: Methods that do not fit the above requirements will always set this property equal to TRUE. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

top
Login
void CkUrl_getLogin(HCkUrl cHandle, HCkString retval);
const char *CkUrl_login(HCkUrl cHandle);
Introduced in version 9.5.0.49

If the URL contains a login and password, this is the login part. For example, if the URL is "http://user:password@www.contoso.com/index.htm ", then the login is "user".

top
Password
void CkUrl_getPassword(HCkUrl cHandle, HCkString retval);
const char *CkUrl_password(HCkUrl cHandle);
Introduced in version 9.5.0.49

If the URL contains a login and password, this is the password part. For example, if the URL is "http://user:password@www.contoso.com/index.htm ", then the password is "password".

top
Path
void CkUrl_getPath(HCkUrl cHandle, HCkString retval);
const char *CkUrl_path(HCkUrl cHandle);
Introduced in version 9.5.0.49

The path (and params) part of the URL, excluding the query and fragment. If the URL is: "http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1", then the path is "/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3".

More Information and Examples
top
PathWithQueryParams
void CkUrl_getPathWithQueryParams(HCkUrl cHandle, HCkString retval);
const char *CkUrl_pathWithQueryParams(HCkUrl cHandle);
Introduced in version 9.5.0.58

The path (and params) part of the URL, including the query params, but excluding the fragment. If the URL is: "http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1", then then this property returns "/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1".

top
Port
int CkUrl_getPort(HCkUrl cHandle);
Introduced in version 9.5.0.49

The port number of the URL.

For example, if the URL is "http://www.contoso.com:8080/", the port number is 8080.
If the URL is "https://192.168.1.124/test.html", the port number is the default 80.
If the URL is "https://www.amazon.com/", the port number is the default SSL/TLS port 443.

top
Query
void CkUrl_getQuery(HCkUrl cHandle, HCkString retval);
const char *CkUrl_query(HCkUrl cHandle);
Introduced in version 9.5.0.49

The query part of the URL, excluding the fragment. If the URL is: "http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1#frag", then the query is "pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1".

top
Ssl
BOOL CkUrl_getSsl(HCkUrl cHandle);
Introduced in version 9.5.0.49

TRUE if the URL indicates SSL/TLS, otherwise false. A URL beginning with "https://" indicates SSL/TLS.

top
Utf8
BOOL CkUrl_getUtf8(HCkUrl cHandle);
void CkUrl_putUtf8(HCkUrl cHandle, BOOL newVal);

When set to TRUE, all "const char *" arguments are interpreted as utf-8 strings. If set to FALSE (the default), then "const char *" arguments are interpreted as ANSI strings. Also, when set to TRUE, and Chilkat method returning a "const char *" is returning the utf-8 representation. If set to FALSE, all "const char *" return values are ANSI strings.

top

Methods

ParseUrl
BOOL CkUrl_ParseUrl(HCkUrl cHandle, const char *url);
Introduced in version 9.5.0.49

Parses a full URL. After parsing, the various parts of the URL are available iin the properties.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top