Function Reference


_WinAPI_UrlCombine

Combines the base an relative URLs in canonical form

#include <WinAPIShPath.au3>
_WinAPI_UrlCombine ( $sUrl, $sPart [, $iFlags = 0] )

Parameters

$sUrl The base URL.
$sPart The relative URL.
$iFlags [optional] The flags that specify how the URL is to be converted. It can be a combination of the following values.
    $URL_DONT_SIMPLIFY
    $URL_ESCAPE_PERCENT
    $URL_ESCAPE_SPACES_ONLY
    $URL_ESCAPE_UNSAFE
    $URL_NO_META
    $URL_PLUGGABLE_PROTOCOL
    $URL_UNESCAPE

Windows 7 or later
    $URL_ESCAPE_AS_UTF8

Return Value

Success: The combined URL.
Failure: Sets the @error flag to non-zero, @extended flag may contain the HRESULT error code.

Remarks

Items between slashes are treated as hierarchical identifiers; the last item specifies the document itself.
You must enter a slash ("/" ) after the document name to append more items; otherwise, the function exchanges
one document for another.

If a URL string contains "/../" or "/./", _WinAPI_UrlCombine() usually treats the characters as if they
indicated navigation in the URL hierarchy. The function simplifies the URLs before combining them. For instance,
"/hello/cruel/../world" is simplified to "/hello/world". If the $URL_DONT_SIMPLIFY flag is set, the function
does not simplify URLs. In this case, "/hello/cruel/../world" is left as it is.

See Also

Search UrlCombine in MSDN Library.

Example

#include <WinAPIShPath.au3>

Local $sUrl1 = 'http://xyz/abc/'
Local $sUrl2 = 'http://xyz/abc'

ConsoleWrite(_WinAPI_UrlCombine($sUrl1, 'bar') & @CRLF)
ConsoleWrite(_WinAPI_UrlCombine($sUrl2, 'bar') & @CRLF)