C# 检查浏览器是否接受cookie
有没有办法检查浏览器是否允许cookieC# 检查浏览器是否接受cookie,c#,asp.net,browser,cookies,C#,Asp.net,Browser,Cookies,有没有办法检查浏览器是否允许cookie Request.Browser.Cookies 禁用Cookie时不工作。它说浏览器可以支持它们 我唯一能想到的另一件事是尝试设置一个测试cookie,然后检查它是否被设置 无论如何都有办法确保cookies被实际启用。我不知道在asp.NET中有什么方法可以做到这一点。您所能做的就是创建一个cookie并尝试在回发中读取它。 您可以看到如何执行此操作的示例(这在vb.NET中,但我相信您可以在google和C#中找到许多其他示例):我不知道其他方法
Request.Browser.Cookies
禁用Cookie时不工作。它说浏览器可以支持它们
我唯一能想到的另一件事是尝试设置一个测试cookie,然后检查它是否被设置
无论如何都有办法确保cookies被实际启用。我不知道在asp.NET中有什么方法可以做到这一点。您所能做的就是创建一个cookie并尝试在回发中读取它。
您可以看到如何执行此操作的示例(这在vb.NET中,但我相信您可以在google和C#中找到许多其他示例):我不知道其他方法:
设置cookie,检查cookie是否存在。根据MSDN,无法确定用户是否允许或禁用cookie。找到答案的唯一方法是先写然后读 检查“确定浏览器是否接受cookie”部分 它还提供了一些示例,说明如何读取和写入cookie,并说明: Cookies属性不指示是否启用了Cookies。信息技术 仅指示当前浏览器是否固有地支持 饼干
正如大家所说,您基本上需要设置、重定向、检测(除非您只需要客户端检测,否则javascript可以进行检查)
HttpCapabilitiesBase.Cookies属性获取一个值,该值指示浏览器是否支持Cookie 到目前为止,这似乎是唯一的选择。@Dietpixel:我在多次检查之前和之后都遇到了这个问题,我意识到这是我最好的、简单的选择(如果不是唯一的选择的话)。确定cookie是否被接受的一种方法是尝试编写cookie,然后尝试重新读取它。如果您无法读取您编写的cookie,您假设浏览器中的cookie已关闭。不足为奇的是,当您思考cookie的工作原理时,唯一的答案是将cookie写出来并尝试将其读回——http响应设置为一个带有标题的响应,然后浏览器仅在请求exac相同域名时才将其吐回——如果三个是另一种方式的话这样,Cookie对文档中的身份验证等内容就没有好处了:“Cookie属性表示浏览器应用程序是否支持Cookie。如果用户在其应用程序中禁用了Cookie,Cookie属性将不会受到影响。”
Request.Browser.Cookies