URL
This page has been automatically translated using the Google Translate API services. We are working on improving texts. Thank you for your understanding and patience.
Functions
Url* | url_parse (...) |
void | url_destroy (...) |
const char_t* | url_scheme (...) |
const char_t* | url_user (...) |
const char_t* | url_pass (...) |
const char_t* | url_host (...) |
const char_t* | url_path (...) |
const char_t* | url_params (...) |
const char_t* | url_query (...) |
const char_t* | url_fragment (...) |
String* | url_resource (...) |
uint16_t | url_port (...) |
URL is the acronym for Uniform Resource Locator that identifies a unique resource on the Internet. The most common use is found when making requests to a Web server. For example https://www.google.com
is a widely recognized and used URL. Being somewhat more specific, we can say that it is a string of characters with a specific format composed of a series of fields that allow unambiguously locating a unique global resource (Listing 1) (Figure 1).
1 2 3 4 5 |
Url *url = url_parse("https://frang@www.nappgui.com/services/demo/userlist.php?id=peter&city=Alicante"); const char_t *scheme = url_scheme(url); // https const char_t *host = url_host(url); // www.nappgui.com const char_t *path = url_path(url); // /services/demo/userlist.php const char_t *query = url_query(url); // id=peter&city=Alicante |
- Scheme: Communication protocol used. http, https, ftp, smtp, mailto, etc.
- Authority: Access string to the server composed of several fields, where only the host name is required. The rest are optional.
- Host: Server name or IP address.
- User: User name. Optional, only if the service requires it.
- Password: Password. Optional, only if the service requires it.
- Port: Access port. Each protocol has a default port, which will be the one used if none is specified. 80 = http, 413 = https.
- Resource: Path within the server where the resource we are looking for is located. The pathname is the only one required.
- Pathname: Directory and name of the file or resource.
- Parameters: List of
name = value
arguments that the service may need. Not normally used. If there are multiple values, they are separated by the character'&'
. - Queries: List of
name = value
arguments that the service may need. These are the ones normally used by Web services. That is, in the URL you must use the'?'
separator instead of';'
after the pathname. If there are multiple values, they are separated by the character'&'
. - Fragment: It is an anchor to a specific part of the document that we request from the server. Normally used to access a specific point in an HTML page.
url_parse ()
Create a URL object from a text string.
Url* url_parse(const char_t *url);
url | Null-terminated UTF8 C text string |
Return
Result URL object after parsing the string.
url_destroy ()
Destroy the URL object.
void url_destroy(Url **url);
url | URL object. Will be set to |
url_scheme ()
Gets the scheme (protocol) of the URL.
const char_t* url_scheme(const Url *url);
url | URL object. |
Return
Protocol (http, https, ftp, etc).
url_user ()
Gets the user.
const char_t* url_user(const Url *url);
url | URL object. |
Return
User or ""
if not specified.
url_pass ()
Get the password.
const char_t* url_pass(const Url *url);
url | URL object. |
Return
Password or ""
if not specified.
url_host ()
Gets the name of the server.
const char_t* url_host(const Url *url);
url | URL object. |
Return
Host (Pe. www.google.com
).
url_path ()
Gets the path (directories + name) of the requested file or resource.
const char_t* url_path(const Url *url);
url | URL object. |
Return
Pathname (Pe. /dir1/dir2/file.html
).
url_params ()
Gets the parameters (from ';'
) of the URL.
const char_t* url_params(const Url *url);
url | URL object. |
Return
Parameters or ""
if not specified.
url_query ()
Gets the parameters (from '?'
) of the URL.
const char_t* url_query(const Url *url);
url | URL object. |
Return
Parameters or ""
if not specified.
url_fragment ()
Gets the fragment (position or anchor of the document) of the URL.
const char_t* url_fragment(const Url *url);
url | URL object. |
Return
Fragment or ""
if not specified.
url_resource ()
Get the full address of a resource within the server.
String* url_resource(const Url *url);
url | URL object. |
Return
Resource. path + ";" + params + "?" + query + "#" + fragment
.
url_port ()
Gets the access port to the server.
uint16_t url_port(const Url *url);
url | URL object. |
Return
Port. UINT16_MAX
if not specified.