打开带有预先确定的 cookie 集的网页

Posted

技术标签:

【中文标题】打开带有预先确定的 cookie 集的网页【英文标题】:Open webpage with pre-determined cookie set 【发布时间】:2012-03-15 09:13:48 【问题描述】:

我有一个 .NET 应用程序,该应用程序在内部与路由器接口进行通信,该路由器接口(显然)不在我的控制范围内以进行更改。其中,它进行登录并为其跟踪适当的 cookie。虽然这个界面的大部分功能都很糟糕,但有些事情实际上是正确的,不值得重复,因此我希望在我的应用程序中放置一个直接链接以打开相应的页面。诀窍是:我想避免再次登录用户,并将我的 cookie 粘贴到浏览器中,因为单独登录可能需要 3-5 秒,更不用说使用正确的数据打开正确的页面了。

这个解决方案最好是跨平台的,但我可以使用仅限 IE 的解决方案。哦,理想情况下,cookie 在关闭新窗口时被删除,因为我的应用程序将阻止服务器端超时机制启动,但如果这不可能,我可以忍受它。 :)

【问题讨论】:

目标 URL 是 IP 地址、完全限定域名 (http://example.com) 还是只是没有域的短服务器名称 (http://example)? 它是 192.168.x.x 类地址中的 IP 地址,尽管它也可以在 example 样式的服务器名称下访问。 (目前该设备还不支持 ipv6,如果有任何相关性的话。) 【参考方案1】:

您可以在您的 .NET 应用程序中创建一个包含 javascript 的临时 html 文件,以设置 cookie 并通过http://example 名称重定向到路由器。当您编写 HTML 文件时,您将添加您已经创建的 cookie 值。

如果浏览器不允许没有域的 cookie 工作,您需要在与路由器相同域的网络服务器上托管一个网页,并在该网络服务器上有一个将 cookie 作为 URL 的 html 页面查询字符串参数并使用查询字符串中的值通过 javascript 设置 cookie。

【讨论】:

首先,我对 cookie 的可能性和限制不是很了解,但最后我听说 cookie 出于安全原因绑定到“服务器”,因此能够设置 cookie对于另一台服务器将是一个安全问题,不是吗? @Stigma 如果没有域的 cookie 在您的浏览器中不起作用,我已经更新了我的答案。

以上是关于打开带有预先确定的 cookie 集的网页的主要内容,如果未能解决你的问题,请参考以下文章

IE8和360 Chrome不能正常打开这个网页?求解释。

使用带有 TDownloadUrl (Delphi) 的会话/cookie 下载网页

ie浏览器无法打开网页,别的浏览器可以打开

js控制网页弹窗次数

如何实现网页代码清除所有cookies

下载网页出现已完成但网页上有错误怎么办