C #을 사용하여 URL 매개 변수를 어떻게 디코딩합니까? 매개 변수를 어떻게 디코딩

C #을 사용하여 인코딩 된 URL 매개 변수를 어떻게 디코딩 할 수 있습니까?

예를 들어 다음 URL을 사용하십시오.

my.aspx?val=%2Fxyz2F


답변

Server.UrlDecode(xxxxxxxx)

답변

string decodedUrl = Uri.UnescapeDataString(url)

또는

string decodedUrl = HttpUtility.UrlDecode(url)

한 번의 호출로 URL이 완전히 디코딩되지 않습니다. 완전히 디코딩하려면이 메소드 중 하나를 루프로 호출 할 수 있습니다.

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

답변


답변

이 시도:

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

답변

시험:

var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);