[Overview][Types][Procedures and functions][Index] | Reference for unit 'URIParser' (#fcl)

# ParseURI

Parse a URI and split it into its constituent parts

## Declaration

Source position: uriparser.pp line 40

`function ParseURI(`
`const URI: string;`
`Decode: Boolean = True`
`):TURI; overload; function ParseURI(`
`const URI: string;`
`const DefaultProtocol: string;`
`DefaultPort: Word;`
`Decode: Boolean = True`
`):TURI; overload;`

## Arguments

`URI` |  | String with the URI to parse in the routine
`Decode` |  | Indicates if encoded (escaped) values in the string are decoded in the routine. Default is True.

## Function result

Record type with the component values for the URI

## Arguments

`URI` |  | String with the URI to parse in the routine
`DefaultProtocol` |  | Default protocol to use if none is specified.
`DefaultPort` |  | Default port to use if none is specified.
`Decode` |  | Indicates if encoded (escaped) values in the string are decoded in the routine. Default is True.

## Description

ParseURI decodes URI and returns the various parts of the URI in the result record.

The function accepts the most general URI scheme:

    proto://user:pwd@host:port/path/document?params#bookmark

Missing (optional) parts in the URI will be left blank in the result record. If a default protocol and port are specified, they will be used in the record if the corresponding part is not present in the URI.

## See also

EncodeURI |  | Form a string representation of the URI