【问题标题】:Server.UrlEncode is not working for " * " ASP.net 3.5Server.UrlEncode 不适用于“*” ASP.net 3.5
【发布时间】:2011-03-28 06:13:02
【问题描述】:

为什么?

Server.UrlEncode("2*")

返回2*

虽然它应该返回2%2A

this demo site 上测试过

【问题讨论】:

    标签: asp.net .net-3.5 urlencode


    【解决方案1】:

    根据 .NET,* 是一个“安全”字符,不需要编码。

    这是否真的正确,我不知道。

    【讨论】:

    【解决方案2】:

    RFC 1738 特别允许在 URL 中使用*

    因此,只有字母数字、特殊字符“$-_.+!*'()”和 可以使用用于其保留目的的保留字符 在 URL 中未编码。

    所以,没有必要对其进行编码。

    您链接到的页面是一个经典的 asp 页面,所以使用 UrlEncode,所以这是一个相当古老的实现,而不是 .NET 的实现。

    【讨论】:

    • 如果它是安全的,那么当我浏览它时...工作正常 localhost:2008/PinchofblissWeb/search/name=2 但它不浏览 localhost:2008/PinchofblissWeb/search/name=2 *
    • @SOF 用户 - 我尝试将 2* 作为常规参数 (?name=2*) 传递,没有问题。您可能在重定向引擎中遇到了什么问题。
    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多