Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错,是否有其他可以对URL解码的方法呢?

使用HttpUtility.UrlDecode出错:The name 'HttpUtility' does not exist in the current context.

【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错

问题解决

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

【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错

 

查看全部列表可参考:https://docs.azure.cn/zh-cn/api-management/api-management-policy-expressions#net-framework-types-allowed-in-policy-expressions

 

下表列出了策略表达式中允许的 .NET Framework 类型及其成员(摘录部分与本文相关
类型 受支持的成员
。。。 。。。
System.MidpointRounding 全部
System.Net.IPAddress 全部
System.Net.WebUtility 全部
System.Nullable 全部
。。。 。。。

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

 

 

参考资料

https://docs.azure.cn/zh-cn/api-management/api-management-policy-expressions#net-framework-types-allowed-in-policy-expressions

 

相关文章:

  • 2022-12-23
  • 2022-01-07
  • 2021-05-29
  • 2022-12-23
  • 2021-06-23
猜你喜欢
  • 2022-02-23
  • 2022-12-23
  • 2021-06-27
  • 2022-12-23
  • 2022-01-19
  • 2021-07-30
  • 2022-12-23
相关资源
相似解决方案