检测浏览器是否接受Cookies(Downmoon)?
一种确定浏览器是否接受 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);
}
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。
我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在第一个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到第一个页面,并向 URL 添加一个带有测试结果的查询字符串变量。
第一个页面的代码如下:
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043609984.png[/img][/url]protected System.Web.UI.WebControls.Label labelAcceptsCookies;
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610171.png[/img][/url]
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610421.png[/img][/url] private void Page_Load(object sender, System.EventArgs e)
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610515.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610578.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610640.png[/img][/url]
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610703.png[/img][/url] if(!IsPostBack)
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610765.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610843.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610921.png[/img][/url] WriteCookie();
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043610968.png[/img][/url]
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611031.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611093.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611156.png[/img][/url]
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611218.png[/img][/url] private void WriteCookie()
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611281.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611343.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611406.png[/img][/url] if( Request.QueryString["AcceptsCookies"] ==null)
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611468.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611546.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611609.png[/img][/url] Response.Cookies["TestCookie"].Value = "ok";
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611671.png[/img][/url] Response.Cookies["TestCookie"].Expires = DateTime.Now.AddMinutes(1);
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611734.png[/img][/url] Response.Redirect("CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString()));
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611796.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611859.png[/img][/url] else
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043611953.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612015.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612078.png[/img][/url] labelAcceptsCookies.Text = "接受 Cookie = "+Request.QueryString["AcceptsCookies"];
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612140.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612218.png[/img][/url] }
第一个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (AcceptsCookies)。如果没有找到查询字符串变量,则表示测试还没有完成,代码就写出一个名为“TestCookie”的 Cookie。写出 Cookie 之后,示例调用 Response.Redirect 来切换到测试页面 (TestForCookies.aspx)。附加到测试页面的 URL 的是名为 redirect 的查询字符串变量,该变量中包含了当前页面的 URL,这样就能在执行测试后把重定向到该页面。
测试页面可以完全由代码组成,不需要包含控件。以下就是使用的代码:
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612281.png[/img][/url]private void Page_Load(object sender, System.EventArgs e)
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612343.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612421.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612703.png[/img][/url] ReadCookie();
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612765.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612828.png[/img][/url] private void ReadCookie()
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612906.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043612968.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613046.png[/img][/url] String redirect = Request.QueryString["redirect"];
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613109.png[/img][/url] String acceptsCookies ;
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613171.png[/img][/url] // 是否接受 Cookie?
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613250.png[/img][/url] if(Request.Cookies["TestCookie"] ==null)
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613312.png[/img][/url] // 没有 Cookie,因此不需要接受
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613375.png[/img][/url] acceptsCookies = "0";
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613437.png[/img][/url] else
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613500.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613562.png[/img][/url] ...{
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613625.png[/img][/url] acceptsCookies = "1";
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613687.png[/img][/url] //删除测试 Cookie
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613750.png[/img][/url] Response.Cookies["TestCookie"].Expires = DateTime.Now.AddDays(-1);
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613812.png[/img][/url] }
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613890.png[/img][/url] Response.Redirect(redirect + "?AcceptsCookies=" +acceptsCookies, true);
[url=http://www.wangchao.net.cn/bbsdetail_836502.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1170043613953.png[/img][/url]}