221 votes

Quelle est la différence entre EscapeUriString et EscapeDataString ?

Si je ne m'occupe que de l'encodage des urls, je devrais utiliser EscapeUriString ?

11 votes

Toujours échapper à chaque individu valeur en utilisant Uri.EscapeDataString() comme expliqué dans la réponse de @Livven. Avec d'autres approches, le système ne dispose tout simplement pas de suffisamment d'informations pour produire le résultat escompté pour chaque entrée possible.

0voto

Xaris Fytrakis Points 174

J'utilisais une chaîne cryptée comme paramètre d'URL (par ex. http://example.com/Test/myencryptedkey/param2/param3 ), de sorte qu'aucune des méthodes de cryptage C# n'a pu fournir un paramètre url sûr. J'ai fini par utiliser le modèle suivant :

Pendant le cryptage : Uri.EscapeDataString(myencryptedkey).Replace('%', '~');

Pendant le décryptage : Uri.UnescapeDataString(myencryptedkey.Replace('~', '%'));

Notez que pendant le cryptage, le remplacement a lieu après la fonction EscapeDataString(), tandis que pendant le décryptage, le remplacement a lieu avant la fonction UnescapeDataString() ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X