查看: 97|回复: 1

【Azure API 管理】Azure API Management在设置 Policy时 ...

[复制链接]

2

主题

9

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-9-23 12:53:08 | 显示全部楼层 |阅读模式
问题描述

Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错,是否有其他可以对URL解码的方法呢?
使用HttpUtility.UrlDecode出错:The name 'HttpUtility' does not exist in the current context.




问题解决

因为APIM中的策略(Policy)定义可以自动允许使用.Net Framework中的类。而HttpUtility 的命名空间为 System.Web 不在此列表中。所以需要使用 System.Net.WebUtility.UrlDecode 代替 HttpUtility.UrlDecode 来解码 URL。



查看全部列表可参考:https://docs.azure.cn/zh-cn/api-management/api-management-policy-expressions#net-framework-types-allowed-in-policy-expressions
下表列出了策略表达式中允许的 .NET Framework 类型及其成员(摘录部分与本文相关



修改后的结果为:System.Net.WebUtility.UrlDecode 对于浏览器自动编码后的URL进行解码成功。
参考资料

策略表达式中允许的 .NET Framework 类型: https://docs.azure.cn/zh-cn/api-management/api-management-policy-expressions#net-framework-types-allowed-in-policy-expressions
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
分类: 【Azure API 管理】
标签: HttpUtility.UrlDecode, System.Net.WebUtility.UrlDecode, URL解码, APIM
回复

使用道具 举报

2

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2025-2-26 19:42:01 | 显示全部楼层
路过的帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表