加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – asp .net查询字符串编码和解码

发布时间:2020-12-16 06:31:54 所属栏目:asp.Net 来源:网络整理
导读:我在我的网络浏览器中输入以下网址,然后按Enter键. http://localhost/website.aspx?paymentID=6++7d6CZRKY%3Dlanguage=English 现在在我的代码中,当我做HttpContext.Current.Request.QueryString [“paymentID”]时, 我得到6 7d6CZRKY = 但是当我做HttpConte
我在我的网络浏览器中输入以下网址,然后按Enter键.

http://localhost/website.aspx?paymentID=6++7d6CZRKY%3D&language=English

现在在我的代码中,当我做HttpContext.Current.Request.QueryString [“paymentID”]时,

我得到6 7d6CZRKY =

但是当我做HttpContext.Current.Request.QueryString.ToString()时,我看到以下内容:

paymentID = 6 7d6CZRKY =& language = English

我想要提取用户在Web浏览器URL中键入的实际付款ID.我不担心网址是否编码.因为我知道这里有一个奇怪的事情=同时签名!但我确实需要实际的标志.当我做HttpContext.Current.Request.QueryString [“paymentID”]时,不知何故它被解码到空间.

我只想提取用户输入的实际付款ID.最好的方法是什么?

谢谢.

解决方法

您需要首先使用URLEncode()对URL进行编码.在URL中等于空格,因此需要编码为+.

string paymentId = Server.UrlEncode("6++7d6CZRKY=");
// paymentId = 6%2b%2b7d6CZRKY%3d

现在

string result = Request.QueryString["paymentId"].ToString();
//result = 6++7d6CZRKY=

然而

string paymentId = Server.UrlEncode("6  7d6CZRKY=");
//paymentId looks like you want it,but the + is a space -- 6++7d6CZRKY%3d

string result = Request.QueryString["paymentId"].ToString();
//result = 6 7d6CZRKY=

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读