如何在APIM策略中解码URL

时间:2020-08-07 14:34:04

标签: azure api azure-api-management api-management apim

我想解码URL中的查询参数。 我将查询参数值传递为

 "somevalue%"

但是当我获取参数的值时,它显示为

"somevalue%25"

我只想将值作为“ somevalue%”。 目前,我正在使用Replace,但是我想要一些解码方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以为此使用System.Net.WebUtility.UrlDecode

    <trace source="original">
        <message>@(context.Request.Url.Query.GetValueOrDefault("parm"))</message>
    </trace>
    <trace source="converted">
        <message>@(System.Net.WebUtility.UrlDecode(context.Request.Url.Query.GetValueOrDefault("parm")))</message>
    </trace>

在跟踪中,您将看到类似以下结果:

trace (0 ms)
{
    "message": "Expression was successfully evaluated.",
    "expression": "context.Request.Url.Query.GetValueOrDefault(\"parm\")",
    "value": "somevalue%25"
}
original (0 ms)
"somevalue%25"

trace (3 ms)
{
    "message": "Expression was successfully evaluated.",
    "expression": "System.Net.WebUtility.UrlDecode(context.Request.Url.Query.GetValueOrDefault(\"parm\"))",
    "value": "somevalue%"
}
converted (0 ms)
"somevalue%"