This tutorial describes the steps to parse an URI.
Parsing is done before performing any of the following tasks:
Extracting the URI components
Modifying the URI components
Getting the file name
Modifying the delimiters
Resolving the URI
The URI is parsed into its components (scheme, authority, path, query
and fragment) to check if they are syntactically correct. Also, the checks
the validity of individual components that needs to be parsed, using TUriParser8::Parse()
.
The following
code fragment parses the URI descriptor object. It returns KErrNone
if
parsing is successful and EUriUtilsParserErrInvalidUri
if
the passed descriptor is invalid.
LIT8( KUri,"http://web.intra/Dev/Sysdoc/devlib.htm" ); TUriParser8 parser; // URI parser object TInt result = parser.Parse( KUri ); // Parse the URI descriptor const TDesC8& des1 = parser.UriDes(); // Returns the parsed URI
where, KUri
is the URI descriptor to be parsed.
This code returns the descriptor containing http://web.intra/Dev/Sysdoc/devlib.htm
,
the parsed form of the URI.
TUriParser8::Parse()
parses
the URI components, except for SIP and SIPS scheme component.
To make use of the
authority parsing utilities, declare a TAuthorityParser8
parser
object, and parse the descriptor containing the URI authority component. Call TAuthorityParser8::Parse()
to
parse the authority component.
_LIT8( KAuthorityDesc, "http://user:pass@www.mypage.com" ); TAuthorityParser8 authorityParser; // the authority parser object //Parse the authority component by passing authority descriptor authorityParser.Parse( KAuthorityDesc ); const TDesC8& des = authorityParser.AuthorityDes(); //retrieve the parsed URI
where, des
is a descriptor that contains
the parsed URI.
For related information, see HTTP Utilities Library Overview