URL represents an immutable Uniform Resource Locator.
A Uniform Resource Locator (URL) is used to uniquely identify a resource on the Internet. The URL is a compact text string with a restricted syntax that consists of four main components:
The <protocol>
part is mandatory, the other components may or may not be present in a URL string. For instance, the file
protocol only uses the path component while an http
protocol may use all components. Here is an example where all components are used:
The following URL components are automatically unescaped according to the escaping mechanism defined in RFC 2396: credentials
, path
, and parameter values
.
An IPv6 address can be used for host as defined in RFC2732 by enclosing the address in [brackets]. For instance, mysql://[2010:836B:4179::836B:4179]:3306/test
For more information about the URL syntax and specification, see RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax
Macros | |
#define | T URL_T |
Typedefs | |
typedef struct URL_S * | T |
Functions | |
T | URL_new (const char *url) |
Create a new URL object from the url parameter string. | |
T | URL_create (const char *url,...) |
Build a new URL object from the url parameter string. | |
void | URL_free (T *U) |
Destroy a URL object. | |
Properties | |
const char * | URL_getProtocol (T U) |
Gets the protocol of the URL. | |
const char * | URL_getUser (T U) |
Gets the username from the URL's authority part. | |
const char * | URL_getPassword (T U) |
Gets the password from the URL's authority part. | |
const char * | URL_getHost (T U) |
Gets the hostname of the URL. | |
int | URL_getPort (T U) |
Gets the port of the URL. | |
const char * | URL_getPath (T U) |
Gets the path of the URL. | |
const char * | URL_getQueryString (T U) |
Gets the query string of the URL. | |
const char ** | URL_getParameterNames (T U) |
Returns an array of string objects with the names of the parameters contained in this URL. | |
const char * | URL_getParameter (T U, const char *name) |
Returns the value of a URL parameter as a string, or NULL if the parameter does not exist. | |
Functions | |
const char * | URL_toString (T U) |
Returns a string representation of this URL object. | |
Class functions | |
char * | URL_unescape (char *url) |
Unescape a URL string. | |
char * | URL_escape (const char *url) |
Escape a URL string. | |
#define T URL_T |
typedef struct URL_S* T |
T URL_new | ( | const char * | url | ) |
Create a new URL object from the url
parameter string.
url | A string specifying the URL |
url
parameter cannot be parsed as a URL. T URL_create | ( | const char * | url, |
... ) |
Build a new URL object from the url
parameter string.
Factory method for building a URL object using a variable argument list. Important: since the '%' character is used as a format specifier (e.g. %s for string, %d for integer and so on), submitting a URL escaped string (i.e. a %HEXHEX encoded string) in the url
parameter can produce undesired results. In this case, use either the URL_new() method or URL_unescape() the url
parameter first.
url | A string specifying the URL |
url
parameter cannot be parsed as a URL. void URL_free | ( | T * | U | ) |
Destroy a URL object.
U | A URL object reference |
const char * URL_getProtocol | ( | T | U | ) |
Gets the protocol of the URL.
U | A URL object |
const char * URL_getUser | ( | T | U | ) |
Gets the username from the URL's authority part.
U | A URL object |
const char * URL_getPassword | ( | T | U | ) |
Gets the password from the URL's authority part.
U | A URL object |
const char * URL_getHost | ( | T | U | ) |
Gets the hostname of the URL.
U | A URL object |
int URL_getPort | ( | T | U | ) |
Gets the port of the URL.
U | A URL object |
const char * URL_getPath | ( | T | U | ) |
Gets the path of the URL.
U | A URL object |
const char * URL_getQueryString | ( | T | U | ) |
Gets the query string of the URL.
U | A URL object |
const char ** URL_getParameterNames | ( | T | U | ) |
Returns an array of string objects with the names of the parameters contained in this URL.
If the URL has no parameters, the method returns NULL. The last value in the array is NULL. To print all parameter names and their values contained in this URL, the following code can be used:
U | A URL object |
const char * URL_getParameter | ( | T | U, |
const char * | name ) |
Returns the value of a URL parameter as a string, or NULL if the parameter does not exist.
If you use this method with a multi-valued parameter, the value returned is the first value found. Lookup is case-sensitive.
U | A URL object |
name | The parameter name to lookup |
const char * URL_toString | ( | T | U | ) |
Returns a string representation of this URL object.
U | A URL object |
char * URL_unescape | ( | char * | url | ) |
Unescape a URL string.
The url
parameter is modified by this method.
url | an escaped URL string |
url
string char * URL_escape | ( | const char * | url | ) |
Escape a URL string.
Converts unsafe characters to a hex (HEXHEX) representation. The following URL unsafe characters are encoded: <>"#%{}|^ []`
as well as characters in the interval 00-1F hex (0-31 decimal) and in the interval 7F-FF (127-255 decimal). If the url
parameter is NULL then this method returns NULL, if it is the empty string "" a new empty string is returned. The caller must free the returned string.
url | a URL string |
Copyright © Tildeslash Ltd. All rights reserved.