【问题标题】:ASP.NET - Request Params and the "&" Separator IssuesASP.NET - 请求参数和“&”分隔符问题
【发布时间】:2012-05-03 22:48:57
【问题描述】:

我们有一些 UTF-8 XML 由包含 url 的 REST 处理程序返回。这些 url 有一个 & 符号,当转义为 UTF-8 兼容时,如下所示:

http://domain.com?param1=a&param2=b

问题是,当它被剪切/粘贴到浏览器中时,结果不会根据转义的 & 符号正确分离。下面是一个例子:

这行得通:

http://api.citysourced.com/reportimage.ashx?reportid=30885&imagesize=Small

这些不:

http://api.citysourced.com/reportimage.ashx?reportid=30885&imagesize=Small
http://api.citysourced.com/reportimage.ashx?reportid=30885%26imagesize=Small

我的 IIS 配置 (IIS 6) 有问题吗?上面的处理程序是用 C# .NET 4.0 编写的标准通用处理程序。

我看过这里的其他文章,都没有正确答案。

谢谢。

【问题讨论】:

  • 如果您使用实际的 XML 解析器加载 XML(而不是像记事本这样的程序,或涉及正则表达式错误处理的程序),您会得到 http://domain.com?param1=a&param2=b,这是有效的 URL。我没有理由说那些不起作用的 URL 应该起作用。你能解释一下为什么你认为它们应该起作用吗?

标签: c# asp.net url


【解决方案1】:

您的 IIS 配置没有问题。 XML 具有必须转义的某些predefined entities(字符),否则它们会破坏文档。您只需要在使用数据时对数据进行转义即可。

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 2012-02-09
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2021-10-14
    • 2017-10-17
    相关资源
    最近更新 更多