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

介绍了确定浏览器是否接受Cookie的方法,即先写一个Cookie再尝试读取。还给出简单示例,包含两个页面,第一个页面写Cookie并定向到第二个页面,第二个页面读取Cookie并定向回第一个页面,同时添加测试结果查询字符串变量,还给出了部分代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值