Combine une URL de base et une URL relative en forme canonique
#include <WinAPIShPath.au3>
_WinAPI_UrlCombine ( $sUrl, $sPart [, $iFlags = 0] )
$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 |
Succès: | Retourne l'URL combinée. |
Échec: | Définit @error <> 0, @extended peut contenir le code d'erreur HRESULT. |
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.
Consultez UrlCombine dans la librairie MSDN.
#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)