【问题标题】:Request.Params is replacing character "+" for " " (whitespace) .netRequest.Params 正在将字符“+”替换为“”(空格).net
【发布时间】:2016-05-03 12:46:15
【问题描述】:

我有跟随 iframe 元素

<iframe id="iFrameMain_01_01_01_01" 
        frameborder="0" width="100%" height="100%" scrolling="no"
        style="OVERFLOW:hidden;"
        src="SearchGrid.aspx?SearchName=fey&amp;Code=01_01_01_01&amp;SearchParam=Localizar&amp;ParentType=Filter&amp;gi=Testes&amp;SP=&amp;token=P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n+Lv/p8rSIWSFwVsr9tlS1/+Q==">
</iframe>

当我尝试使用 Request.Params["token"] 在 Page_Load 中获取参数“令牌”时,我得到了值:

P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n Lv/p8rSIWSFwVsr9tlS1/ Q==

字符“+”被空格替换。

【问题讨论】:

    标签: c# .net iframe request


    【解决方案1】:

    字符“+”被空格替换。

    是的,它会是 - 因为这就是 URL 解码对查询参数所做的。当您 URL-encode a space in a query parameter 时,您会在生成的 URL 中获得 +,因此对该 URL 进行 URL 解码应该会返回空间。当您对 + 进行 URL 编码时,您会得到 %2B

    基本上,听起来您应该使用 base64 的网络安全变体,因此您无需担心对数据进行 URL 编码。否则,请确保先执行自己的 URL 编码。

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 2013-05-01
      相关资源
      最近更新 更多