繁体   English   中英

在没有 web 页面的情况下,如何使用 ASP.NET 检查 cookies 是否已启用?

[英]How can I use ASP.NET to check if cookies are enabled without having a web page?

我正在开发一个桌面应用程序,它可以自动化众多网站并处理返回的数据。 此应用程序将在服务器上运行,用户将连接到远程桌面。 当服务器没有启用 cookies 时,自动化中断,而不是让应用程序停止工作,我想检查服务器设置并告诉用户它为什么不工作。

为此,我决定创建一个 ASP.NET Web 服务。 我认为 web 服务可以存储 cookie,然后尝试访问数据。 如果找到数据,cookies 已启用,go 一切正常。

我已经阅读了许多教程,例如: http://www.csharphelp.com/2006/05/c-and-cookies/ ,它们解释了如何通过 Z9E0DA8438E1E38A1C30F4B76CE 存储和访问 cookies。 然而,所有这些都使用一个网站。 用户单击按钮生成请求,然后 web 服务可以发送响应。 我不知道如何在没有网站的情况下使该过程正常工作,并且我也不希望自动化我自己托管的网站。 我觉得我应该能够在我的网络服务上运行一个方法并且它应该可以工作。

有谁知道如何做到这一点? 我想要一个可以处理请求和响应的 Web 服务,这样我就可以创建、存储和访问 cookies。 我感谢您提供的任何帮助。

内森·托恩奎斯特

编辑:

我正在开发一个数据库驱动的应用程序。 其中一些是自动化的 web 站点,用户在其中输入一些数据,然后程序打开 webBrowser 控件,填写 forms,然后格式化生成的数据。 我想测试是否根据用户的安全权限启用了 cookies,以便我可以禁用自动化并允许用户在需要时自行填写数据。 大多数网站需要 cookies 才能登录。

这将在 Windows 服务器的各种版本上运行。 默认情况下,我认为 webBrowser 控件具有与 Internet Explorer 相同的安全设置。

var request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com/");
request.Method =  "Head";
var response = (HttpWebResponse)request.GetResponse();
var usesCookies = !String.IsNullOrEmpty(response.Headers["Set-Cookie"]);

您可以在注册表中验证这些键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones

在这些键下,您可能会看到一些键,例如 0、1、2、3……每个键都是一个区域配置。

在每个区域中搜索这些条目:

1A02
1A03
1A05
1A06

因此,您必须验证这些条目值是否等于 0。

查看这些链接:

毫秒 kb
问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM