科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件检测浏览器是否接受Cookies(Downmoon)?

检测浏览器是否接受Cookies(Downmoon)?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一种判断浏览器是否接受 Cookie 的方法

作者:邀月 来源:CSDN 2008年3月29日

关键字: Cookie 浏览器 检测 Web开发 软件

  • 评论
  • 分享微博
  • 分享邮件
一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。

我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在第一个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到第一个页面,并向 URL 添加一个带有测试结果的查询字符串变量。

第一个页面的代码如下:

protected System.Web.UI.WebControls.Label labelAcceptsCookies;
 
  
private void Page_Load(object sender, System.EventArgs e)
  
{
   
   
if(!IsPostBack)
   
{
    WriteCookie();
    
   }

  }


  
private void  WriteCookie()
  
{
   
if( Request.QueryString["AcceptsCookies"==null)
   
{
    Response.Cookies[
"TestCookie"].Value = "ok";
    Response.Cookies[
"TestCookie"].Expires = DateTime.Now.AddMinutes(1);
    Response.Redirect(
"CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString()));
   }

   
else
   
{
    labelAcceptsCookies.Text 
= "接受 Cookie = "+Request.QueryString["AcceptsCookies"];
   }

  }

第一个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (AcceptsCookies)。如果没有找到查询字符串变量,则表示测试还没有完成,代码就写出一个名为“TestCookie”的 Cookie。写出 Cookie 之后,示例调用 Response.Redirect 来切换到测试页面 (TestForCookies.aspx)。附加到测试页面的 URL 的是名为 redirect 的查询字符串变量,该变量中包含了当前页面的 URL,这样就能在执行测试后把重定向到该页面。

测试页面可以完全由代码组成,不需要包含控件。以下就是使用的代码:

private void Page_Load(object sender, System.EventArgs e)
  
{
   ReadCookie();
  }

  
private void ReadCookie()
  
{
   String redirect  
= Request.QueryString["redirect"];
   String acceptsCookies ;
   
// 是否接受 Cookie?
   if(Request.Cookies["TestCookie"==null)
    
// 没有 Cookie,因此不需要接受
    acceptsCookies = "0";
   
else
   
{
    acceptsCookies 
= "1";
    
//删除测试 Cookie
    Response.Cookies["TestCookie"].Expires = DateTime.Now.AddDays(-1);
   }

   Response.Redirect(redirect 
+ "?AcceptsCookies=" +acceptsCookies, true);
}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章