---
name: "nng_url"
section: "5"
platform: "linux"
package: "libnng-dev"
version: "1.10.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nng_url"
---

# nng\_url(5)

Universal Resource Locator object

## NAME

nng\_url - Universal Resource Locator object

## SYNOPSIS

```
#include <nng/nng.h>
typedef struct nng_url {
    char *u_rawurl;
    char *u_scheme;
    char *u_userinfo;
    char *u_host;
    char *u_hostname;
    char *u_port;
    char *u_path;
    char *u_query;
    char *u_fragment;
    char *u_requri;
} nng_url;
```

## DESCRIPTION

An `nng_url` is a structure used for representing URLs. These structures are created by parsing string formatted URLs with `nng_url_parse()`.

Applications may access individual fields, but must not free or alter them, as the underlying memory is managed by the library.

The fields are as follows:

`u_rawurl`

The unparsed URL string.  This will never be `NULL`.

`u_scheme`

The URL scheme, such as "http" or "inproc". Always lower case. This will never be `NULL`.

`u_userinfo`

This username and password if supplied in the URL string.  Will be `NULL` when not present.

`u_host`

The full host part of the URL, including the port if present (separated by a colon.)

`u_hostname`

The name of the host, and may be the empty string in some cases.

`u_port`

The port.  May be empty if irrelevant or not specified.

`u_path`

The path, typically used with HTTP or WebSockets.  Will be empty string if not specified.

`u_query`

The query info (typically following `?` in the URL.)  Will be `NULL` if not present.

`u_fragment`

This is used for specifying an anchor, the part after `#` in a URL.  Will be `NULL` if not present.

`u_requri`

The full Request-URI  (path\[?query\]\[#fragment\]). Will be the empty string if not specified.

**Note**\

Other fields may also be present, but only those documented here are safe for application use.

**Tip**\

More information about Universal Resource Locators can be found in *RFC 3986* \<https://tools.ietf.org/html/rfc3986\>.

## SEE ALSO

[nng\_url\_clone(3)](/nng_url_clone/3.md), [nng\_url\_free(3)](/nng_url_free/3.md), [nng\_url\_parse(3)](/nng_url_parse/3.md), [nng(7)](/nng/7.md)
