Maison >développement back-end >C++ >Comment décoder les paramètres d'URL codés en C# ?

Comment décoder les paramètres d'URL codés en C# ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-06 15:20:39822parcourir

How to Decode Encoded URL Parameters in C#?

Décodage des paramètres d'URL codés en C

Lorsque vous travaillez avec des paramètres d'URL, il est courant de rencontrer des chaînes codées pour empêcher les caractères spéciaux d'interférer avec les données. Cet article explique comment décoder de tels paramètres codés à l'aide de C#.

Considérons l'URL suivante comme exemple :

my.aspx?val=%2Fxyz2F

Pour décoder la valeur de ce paramètre codé, vous pouvez utiliser les méthodes suivantes :

Uri.UnescapeDataString()

La méthode Uri.UnescapeDataString(string) est une option simple pour décoder les paramètres d’URL. Il prend la chaîne codée en entrée et renvoie la valeur décodée.

Par exemple, pour décoder l'exemple de paramètre d'URL :

string decodedUrl = Uri.UnescapeDataString("my.aspx?val=%2Fxyz2F");

HttpUtility.UrlDecode()

An une autre approche consiste à utiliser la méthode HttpUtility.UrlDecode(string), qui décode également les paramètres d'URL. efficacement.

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");

Gestion des URL entièrement codées

Il convient de noter que certains paramètres d'URL peuvent être entièrement codés, ce qui signifie qu'ils contiennent plusieurs couches d'encodage. Pour gérer cela, vous pouvez utiliser une approche basée sur la boucle :

private static string DecodeUrlString(string url) {
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}

Cette approche garantit que même si l'URL contient plusieurs niveaux de codage, elle sera entièrement décodée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn