S'identifier

API
Documentation
Ressources
Trucs & astuces
Libre
Gabarits
Services

Membres
Participer
Visiter

Contact

Meilleure résolution
mode 800 x 600

Optimisé pour
IE v.5
Netscape v.6
mais surtout pour
Mozilla v.1
minimum

 


Membre de Click-FR®, Réseau francophone Paie-Par-Click

UrlCanonicalize

Date de parution : 24/11/2002 - Cette fiche API a été lue 1049 fois

Description

UrlCanonicalize convertit une URL dans sa forme canonique. La fonction retourne S_OK si elle réussit ou un message d'erreur OLE standard.

Syntaxe

AppelDLL32("shlwapi", "UrlCanonicalizeA", &pszUrl, &pszCanonicalized, &pcchCanonicalized, dwFlags)

pszUrl
[e] Chaîne à terminateur nul qui contient l'URL.
pszCanonicalized
[s] Chaîne à terminateur nul qui contient l'URL convertie.
pcchCanonicalized
[e/s] Nombre de caractères dans pszCanonicalized.
dwFlags
[e] Sémaphore qui précise comme l'URL doit être convertie.

URL_DONT_SIMPLIFY = 0x8000000

Traitement des "/./" et "/../" d'une URL sans changement. Voir la section Remarque.
URL_ESCAPE_PERCENT = 0x1000
Conversion de toute occurrence de "%" en sa séquence d'échappement.
URL_ESCAPE_SPACES_ONLY = 0x4000000
Remplace uniquement les espaces.
URL_ESCAPE_UNSAFE = 0x2000000
Remplace tous les caractères spécifiques (<, >, ", #, {, }, |, \, ^, ~, [, ] et ').
URL_PLUGGABLE_PROTOCOL = 0x40000000
Combine les URLs en accord avec les spécifications du W3C (World Wide Web Consortium). Ce sémaphore ne s'applique pas aux protocoles standards tels que ftp, http, gopher, etc. S'il est mis, UrlCombine ne simplifie pas les URLs, il n'y a donc pas besoin de mettre à URL_DONT_SIMPLIFY.
URL_UNESCAPE = 0x10000000
Des-échappe les séquences d'échappement que l'URL contient avec 2 exceptions : les séquences "?" et "#" ne sont pas des-échappées. Si un des sémaphores URL_ESCAPE_XXX est mis, les 2 URLs sont des-echappées, puis combinées et échappées.

Compatibilité

Supporté pour toutes les versions à partir d'Internet Explorer 5.0 et shlwapi.dll version 5.0 minimum

Remarque

Si une URL contient "/../" ou "/./", UrlCanonicalize traite normalement les caractères comme indicateur de navigation dans la hiérarchie d'une URL. La fonction simplifie l'URL avant de les combiner, ainsi l'instance "/bonjour/monde/../cruel" est simplifiée en "/bonjour/cruel".

Exemple 1

// Remplacer les caractères spéciaux d'une URL 
// par les séquences d'échappement adéquates
pszUrl est une chaîne Asciiz sur 260
pszCan est une chaîne Asciiz sur 260
cch est un entier = 260
pszUrl = "http://www.beaussier.com/montre moi [un] exemple>>"
AppelDll32("shlwapi", "UrlCanonicalizeA", ...
   &pszUrl, &pszCan, &cch, 0x20000000)
Info(pszCan)


Nombre de commentaire sur UrlCanonicalize : 0

Rappel : Le code fourni est compatible Windev v.4 et 5. Pour les versions supérieures, vous devez modifier le type des variables numériques. Par exemple : entier long devient entier.
Bien sûr, les marques citées sont déposées par leurs sociétés respectives. Ces pages sont à la disposition de tous, le code fourni est libre mais toute responsabilité est déclinée en cas de mauvais usage ou de dysfonctionnement.
© 2000-2005 Beaussier & Le Centre W..D..