url传递的参数值中包含&时被截断问题
问题起源:
我使用identityserver做登录中心,打开客户端会先跳转到登陆中心,并带上返回客户端的url,登录成功会自动跳转回客户端。现在我在登录页面加了注册按钮,从登录跳转到注册要携带返回客户端的url,以便注册成功后再返回登录还能携带返回客户端的url返回客户端的url,登录还能跳转到客户端。
但是发现在登录跳转到注册时传的url是正常的,跳转到注册时获取的rul中带有&字符后面的都被删除了。。。
解决办法:传递url时先编码再传递可以解决。
引入 using System.Web;
HttpUtility.UrlEncode(text); //utf-8 编码
HttpUtility.UrlDecode(text); //utf-8 解码
HttpUtility.UrlEncode(text, System.Text.Encoding.GetEncoding(936)); //gb2312编码
HttpUtility.UrlDecode(text, System.Text.Encoding.GetEncoding(936)); //gb2312解码
本文来自博客园,作者:weichangk,转载请注明原文链接:https://www.cnblogs.com/weichangk/p/15645241.html