Si je ne m'occupe que de l'encodage des urls, je devrais utiliser EscapeUriString ?
Réponse
Trop de publicités?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() ;
- Réponses précédentes
- Plus de réponses
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.