如何获取SWT的browser组件的cookie或者session信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取SWT的browser组件的cookie或者session信息相关的知识,希望对你有一定的参考价值。

cookies 一般放到系统磁盘上:
下面是Windows下的绝对位置:
C:\\Documents and Settings\\Administrator\\Cookies
下面的系统变量位置:
%USERPROFILE%\\cookies

在cookies下有很多*.txt的文件 这里面记录的都是Cookie信息!
正常请款下要用servlet 或JSP 的request去得到cookie方法 去访问它!session也是一样的.
一般你的项目运行在Tomcat这样的WEB容器下 都可以适用JSP 或Servlet去访问的!

如果想自己去解析cookie也可以自己写个输入输出流来读取!自己做的话问题很多最重要的是因为位置操作系统不同cookies的位置也有变化!
参考技术A cookie 和session 的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。本回答被提问者采纳

如何将 FEATURE_BROWSER_EMULATION 设置为 IE8 模式?

【中文标题】如何将 FEATURE_BROWSER_EMULATION 设置为 IE8 模式?【英文标题】:How to set FEATURE_BROWSER_EMULATION to IE8 mode? 【发布时间】:2011-05-26 06:48:27 【问题描述】:

我们在 Java 应用程序中使用嵌入式 SWT 浏览器。 SWT 浏览器包装了一个 IE8 WebBrowser Control 对象。我遇到了一个众所周知的问题,默认情况下,WebBrowser 控件使用 IE7 模式而不是 IE8 模式。 (见http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx)

根据这篇文章和其他文章,我正在尝试为我的应用程序设置 FEATURE_BROWSER_EMULATION 注册表值,以便浏览器默认为 IE8 模式,但我的成功参差不齐。使用值 8000 将其设置为 IE8 标准模式不起作用,但使用值 8888 将其设置为“强制”IE8 标准模式。

我正在通过在 SWT 浏览器中加载页面然后执行 javascript 来测试这一点

browser.execute("alert(document.documentMode);");

如果键值不存在或为8000,则结果为7。如果键值为8888,则结果为8。我正在测试的URL是http://***.com,其中包括以下内容

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

有谁知道我做错了什么?

【问题讨论】:

【参考方案1】:

首先检查这个解决方案:

Regarding IE9 WebBrowser control

如果不能满足您的需求,这里是注册表解决方案


要在 IE11 标准模式下运行 WebBrowser 控件,请在注册表中使用以下新值:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
 "DesignU.exe" = dword 11000 (Hex: 0x2af8)

要在 IE10 标准模式下运行 WebBrowser 控件,请在注册表中使用以下新值:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
 "DesignU.exe" = dword 10000 (Hex: 0x2710)

要在 IE9 标准模式下运行 WebBrowser 控件,请在注册表中使用以下新值:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
 "DesignU.exe" = dword 9000 (Hex: 0x2328)

要在 IE8 标准模式下运行 WebBrowser 控件,请在注册表中使用以下新值:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
 "DesignU.exe" = dword 8000 (Hex: 0x1F40)

要在 IE7 标准模式下运行,请使用以下注册表值:

32 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

64 bits: [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
 "DesignU.exe" = dword 7000 (Hex: 0x1B58)

【讨论】:

这正是我所需要的!还应该注意的是,要使用HKEY_LOCAL_MACHINE,您需要权限,因此最好在安装程序步骤中执行此操作,或者如果您需要在运行时更改它,请使用HKEY_CURRENT_USER。如果您想将仿真模式设置为使用可用的最高版本(不确定99999 之类的东西是否会这样做),您还可以从\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion(或Version)获得最高的系统浏览器版本。 要在 HKCU 中设置 FEATURE_BROWSER_EMULATION,在 32 位和 64 位(即没有 wow6432node)上使用相同的密钥:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 这里显示得很清楚:blog.malwarebytes.com/101/2016/01/…【参考方案2】:
    HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 添加您的进程名称,然后将 DWORD 值设置为 9999

【讨论】:

是的,“进程名称”是值名称。其他建议省略了这一点。【参考方案3】:

检查独立 IE 中的兼容性视图设置(工具 > 兼容性视图设置)。您的页面是否列在“要在兼容性视图列表中显示的站点”中,或者是否选中了“在兼容性视图中显示所有站点”框?将该 reg 值设置为 8000,webbrowser 控件仍然遵循兼容性视图设置。

【讨论】:

以上是关于如何获取SWT的browser组件的cookie或者session信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Eclipse 中创建一个包含 SWT 组件的视图?

获取SWT Text组件修改前的文本

如何将 FEATURE_BROWSER_EMULATION 设置为 IE8 模式?

react总结杂烩2

我在哪里可以买到商业 SWT 组件?

Java AWT/SWT/Swing:如何规划 GUI?