UDF > WinAPIEx > ShellPath >


_WinAPI_UrlCombine

Combine une URL de base et une URL relative en forme canonique

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

Paramètres

$sUrl L'URL de base.
$sPart L'URL relative.
$iFlags [optionnel] Les flags qui spécifient comment les URLs doivent être combinées. Peut être une combinaison des valeurs suivantes:
    $URL_DONT_SIMPLIFY
    $URL_ESCAPE_PERCENT
    $URL_ESCAPE_SPACES_ONLY
    $URL_ESCAPE_UNSAFE
    $URL_NO_META
    $URL_PLUGGABLE_PROTOCOL
    $URL_UNESCAPE

Windows 7 ou une version ultérieure
    $URL_ESCAPE_AS_UTF8

Valeur de retour

Succès: Retourne l'URL combinée.
Échec: Définit @error <> 0, @extended peut contenir le code d'erreur HRESULT.

Remarques

Les éléments entre barres obliques sont traités comme des identifiants hiérarchiques; le dernier élément indique le document lui-même.
Vous devez entrer une barre oblique ("/") après le nom du document pour ajouter plus d'éléments; autrement, la fonction échange un seul document pour un autre.

Si une chaîne URL contient "/../" ou "/./", _WinAPI_UrlCombine() traite habituellement les caractères comme s'ils indiquaient une navigation dans la hiérarchie de l'URL. La fonction simplifie les URL avant de les combiner. Par exemple, "/hello/cruel/../world" est simplifiée en "/hello/world". Si le flag $URL_DONT_SIMPLIFY est activé, la fonction ne simplifie pas les URLs. Dans ce cas, "/hello/cruel/../world" est laissée telle quelle.

Voir aussi

Consultez UrlCombine dans la librairie MSDN.

Exemple

#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)