`
netxdiy
  • 浏览: 715158 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

第一个页面的代码如下:

protected System.Web.UI.WebControls.LabellabelAcceptsCookies;

private void Page_Load( object sender,System.EventArgse)
... {

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 " ];
}

}

<!-- StartFragment -->

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

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

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

private void ReadCookie()
... {
Stringredirect
= Request.QueryString[ " redirect " ];
StringacceptsCookies;
// 是否接受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 );
}

分享到:
评论

相关推荐

    W3C网页检验演示程序(C#版)

    在某种程度上,有了它,我们再也不用为不能全面及时检测众多浏览器和五花八门的js/css不兼容性而痛不欲生了。^-^。 这是一个基于该服务的C#版本的API类库演示程序。 详细请看这里: ...

    c#分页源码

    通用分页控件c#源码(downmoon收集) 采用工厂模式,提供标准化接口!支持 DataGrid 及 Repeater分页使用方法:新建两个解决方案 一为Pager,一为webtest 下载后请将两个解决方案合并一下,即新的解决方案包括两个...

    在IE中调用javascript打开Excel的代码(downmoon原作)

    本文将详细解析一段由downmoon提供的代码,该代码能够在Internet Explorer(IE)浏览器中通过JavaScript来调用并打开指定的Excel文件。 #### 二、代码分析 ##### 2.1 HTML结构 首先,我们来看一下这段代码的基本...

    获取远程网页的内容之一(downmoon原创)

    获取远程网页的内容之一(downmoon原创) 一、本机直接上网时: 获取指定远程网页内容#region 获取指定远程网页内容 代码如下: /**////  /// 获取指定远程网页内容 ///  /// ”strUrl”&gt;所要查找的远程...

    获取远程网页的内容之二(downmoon原创)

    ### 获取远程网页的内容之二(downmoon原创) #### 概述 本文主要介绍了在特定代理环境下,如何通过编程方式获取远程网页的内容。该方法适用于那些需要通过代理服务器访问互联网的企业或机构环境。文章中提供了...

    asp.net中获取远程网页的内容之一(downmoon原创)

    获取远程网页的内容之一(downmoon原创) 一、本机直接上网时: 获取指定远程网页内容#region 获取指定远程网页内容 代码如下: /**////  /// 获取指定远程网页内容 ///  /// ”strUrl”&gt;所要查找的远程网页...

    asp.net下获取远程网页的内容之二(downmoon原创)

    它首先检查 URL 是否以 "http://" 开头,如果不是则添加。接着尝试发送 HTTP 请求并获取响应内容。 ```csharp public string getPageContent(string strUrl) { string strResult = ""; this.CurrentUrl = strUrl;...

    sourcesafe管理phpproj文件的补充说明(downmoon)

    在软件开发中,版本控制系统是确保代码质量和协作开发的重要工具。Visual SourceSafe(VSS)是一个曾经广泛使用的版本控制系统,它为开发者提供了一种存储、管理和跟踪源代码文件变更的解决方案。...

    sqlserver 存储过程中的top+变量使用分析(downmoon)

    在SQL Server中,存储过程是一种预编译的SQL语句集合,可以接受参数,执行复杂的逻辑操作,并返回结果。在本例中,我们探讨的是如何在存储过程中使用`TOP`子句与变量相结合来动态控制返回结果的数量。`TOP`子句在SQL...

    同时安装vs2005团队开发版和sql 2005企业版的方法(downmoon原作)

    在IT领域,开发环境的配置是一项重要的工作,尤其是在涉及到多种工具和软件的集成时。本文将详细介绍如何同时安装Visual Studio 2005 Team System(VS2005开发版)和SQL Server 2005 Enterprise Edition(SQL2005...

    分享一个改进版的仿MSN/QQ弹出窗口(C#)

    它特别提到了对Firefox、IE和Opera浏览器的支持,意味着它具有跨浏览器兼容性,但未明确表示是否适用于所有其他浏览器。 在描述中,提到的“右下角弹出窗口”是指在桌面右下角显示的通知区域,这是大多数操作系统中...

    asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例

    本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例。前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景... namespace Downmoon.Framework.Model { #region Popul

    UML常见工具之Powerdesigner

    在上一篇文章中, UML常见工具之NetBeans(downmoon) 简要介绍了netBeansIDE的UML工具,今天再来看一下更常用的powerDesigner,相信这个工具大多数人不陌生。目前版本是15。真的很感谢Sybase,可以说PowerDesigner...

    基于vs2010的省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs) 示例源代码

    "Downmoon.Framewrok"可能是一个自定义的框架或库;"dropdown_Ajax_Net2"和"dropdown_JQuery14_Net2"则分别对应ASP.NET 2.0下的Ajax和jQuery实现。 总的来说,这个示例代码集合涵盖了使用不同JavaScript框架和ASP...

Global site tag (gtag.js) - Google Analytics