c# - 保存 '&' 登录 Cookie

标签 c# asp.net

我正在尝试将值 AFRSUSERNAME=v@r.com&AFRSPASSWORD=%&v~lyHYNrTCcQq6 存储到 Cookies["AFRSSTATION"] 中。该值已成功保存,我可以使用浏览器查看它。访问值时出现问题。当我尝试获取 returningUser["AFRSUSERNAME"] 的值时,我得到了 v@r.comreturningUser["AFRSPASSWORD"] 的值> 是 %。看起来内部函数根据 & 符号拆分值。我的问题是如何在 Cookie 中保存 & 登录。下面给出相关代码

HttpCookie returningUser = null;

            if (HttpContext.Current.Request.Cookies["AFRSSTATION"] != null)
            {
                returningUser = HttpContext.Current.Request.Cookies["AFRSSTATION"];
                if (returningUser["AFRSUSERNAME"] != null &&
                    returningUser["AFRSUSERNAME"] != "" &&
                    returningUser["AFRSPASSWORD"] != null &&
                    returningUser["AFRSPASSWORD"] != "")
                {
                    UserName = returningUser["AFRSUSERNAME"];
                    Password = returningUser["AFRSPASSWORD"];

最佳答案

不是所有characters are allowed in Cookies , 你可以使用 Server.UrlEncodeUrlDecode实现这一目标的方法:-

HttpCookie cookie = new HttpCookie("AFRSSTATION");
cookie.Values.Add("AFRSUSERNAME", Server.UrlEncode("v@r.com"));
cookie.Values.Add("AFRSPASSWORD", Server.UrlEncode("%&v~lyHYNrTCcQq6"));
Response.Cookies.Add(cookie);

//Retrieve Cookie values
UserName = Server.UrlDecode(returningUser["AFRSUSERNAME"]);
Password = Server.UrlDecode(returningUser["AFRSPASSWORD"]);

关于c# - 保存 '&' 登录 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116461/

相关文章:

asp.net - YouTube 视频集成

c# - 如何转置矩阵?

c# - 在 itextsharp 中 Pades LTV 验证抛出 The Uri Prefix is not Recognized

c# - F# NativePtr.stackalloc 比 C# stackalloc 慢 - 包含反编译代码

c# - 如何在代码隐藏中将 Click 事件添加到 Ellipse?

c# - 如何使用 Amazon.Glacier.Transfer.Archive TransferManager.Upload 通过 .NET 将大型 zip 文件上传到 Amazon Glacier?

c# - 在C#中打开Word文件

asp.net - 如何在ASP.NET C#中将日期字符串 “dd/MM/yyyy”格式转换为 “MM/dd/yyyy”?

asp.net - 什么是 SkipExtraFilesOnServer?部署 azure 。 ASP.NET vNext

mysql - SQL/VB/Asp.Net 中的更新日期