Je veux transformer une chaîne de caractères en une URL en utilisant C#. Il doit y avoir quelque chose dans le cadre .NET qui devrait m'aider, non ?
Réponses
Trop de publicités?Une autre façon de procéder est d'utiliser Uri.EscapeUriString(stringToEscape)
.
Je crois que vous cherchez HttpServerUtility.UrlEncode .
System.Web.HttpUtility.UrlEncode(string url)
Pour échapper correctement aux espaces ainsi qu'au reste des caractères spéciaux, utilisez System.Uri.EscapeDataString(string stringToEscape)
.
Comme commenté dans l'article approuvé, le HttpServerUtility.UrlEncode remplace les espaces par + au lieu de %20. Utilisez plutôt l'une de ces deux méthodes : Uri.EscapeUriString() ou Uri.EscapeDataString()
Exemple de code :
HttpUtility.UrlEncode("https://mywebsite.com/api/get me this file.jpg")
//Output: "https%3a%2f%2fmywebsite.com%2fapi%2fget+me+this+file.jpg"
Uri.EscapeUriString("https://mywebsite.com/api/get me this file.jpg");
//Output: "https://mywebsite.com/api/get%20me%20this%20file.jpg"
Uri.EscapeDataString("https://mywebsite.com/api/get me this file.jpg");
//Output: "https%3A%2F%2Fmywebsite.com%2Fapi%2Fget%20me%20this%20file.jpg"
//When your url has a query string:
Uri.EscapeUriString("https://mywebsite.com/api/get?id=123&name=get me this file.jpg");
//Output: "https://mywebsite.com/api/get?id=123&name=get%20me%20this%20file.jpg"
Uri.EscapeDataString("https://mywebsite.com/api/get?id=123&name=get me this file.jpg");
//Output: "https%3A%2F%2Fmywebsite.com%2Fapi%2Fget%3Fid%3D123%26name%3Dget%20me%20this%20file.jpg"
- Réponses précédentes
- Plus de réponses