【问题标题】:A weird encode character returned from Page.ClientQueryString()从 Page.ClientQueryString() 返回的一个奇怪的编码字符
【发布时间】:2020-11-18 14:20:48
【问题描述】:

这是我在地址栏上输入的输入查询字符串:

https://myapp.com/myproject/exagoviewer.aspx?act_code=R&rep_own=AAAAAAAAA&report_name=3.52%20SR%20-%20Request%20Time%20Analysis&report_code=3.52%20SR

然后,在我的代码中,当我通过调用Page.ClientQueryString() 获取它的查询字符串时,它会返回这个字符串

act_code=R&rep_own=AAAAAAAAA&report_name=3.52+SR+-+Request+Time+Analysis&report_code=3.52%2520SR

可以看到参数report_code=3.52%2520SR中有一个weir编码字符串,应该是report_code=3.52%20SR

然后我尝试调用另一个方法HttpContext.Current.Request.Url.Query 来获取查询字符串,但我遇到了同样的问题:

?act_code=R&rep_own=AAAAAAAAA&report_name=3.52+SR+-+Request+Time+Analysis&report_code=3.52%2520SR

我不知道我现在面临什么问题。有什么建议吗?

【问题讨论】:

    标签: c# asp.net .net vb.net web


    【解决方案1】:

    没关系,我找到了根本原因。这是由于客户端在该请求到达服务器之前又调用了一次encodeURIComponent()。这意味着report_code的值被编码了两次并将%转换为%25

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 2019-01-07
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      相关资源
      最近更新 更多