当前位置: 首页 > 图文教程 > 网络编程 > ASP > 轻松检测浏览器是否接受Cookies信息

ASP
asp搜索两个以上的词的原理
如何使用花生壳?
asp汉字转换成汉语拼音代码
asp程序实现伪静态的代码
asp处理xml数据的发送、接收类
ASP中使用jmail发送邮件的函数
asp中获取字符串中的时间字符串
ASP按照字数限制自动截取标题内容
asp中将内容生成word文档的函数
用ASP自动清空IE缓存里的内容
asp检测conn.execute是否执行成功的函数
自动获取当前页面URL的ASP函数
ASP采集中获取网页内所需的html代码
asp图片采集并且本地重命名保存的函数
如何使用asp去字符串中的超链接
asp网站通过限制请求防止被采集的函数
asp利用正则去掉字符串中所有html内容
用ASP取出HTML里面的图片地址的函数
fso实现整个文件夹内容的复制到另一个文件夹中
适合所有表的添加、删除、修改的函数

ASP 中的 轻松检测浏览器是否接受Cookies信息


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 181 ::
收藏到网摘: n/a

  一种确定浏览器是否接受 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);
}

"