【发布时间】:2010-06-21 18:39:12
【问题描述】:
我可以使用 java.awt.Desktop 从我的 Java 胖客户端生成浏览器。
显然,我还可以使用 System.Diagnostics.Process.Start 从我的 .NET 客户端生成浏览器
我的问题是,Java / .NET 中是否有办法在生成浏览器进程时设置 cookie?看起来没有 - 可能是出于安全考虑?
【问题讨论】:
标签: java .net desktop-application
我可以使用 java.awt.Desktop 从我的 Java 胖客户端生成浏览器。
显然,我还可以使用 System.Diagnostics.Process.Start 从我的 .NET 客户端生成浏览器
我的问题是,Java / .NET 中是否有办法在生成浏览器进程时设置 cookie?看起来没有 - 可能是出于安全考虑?
【问题讨论】:
标签: java .net desktop-application
没有。您可能可以在目标浏览器中添加某种插件,但这将使用不同的机制。
java.awt.Desktop 的作用是启动浏览器。与它没有更多的交互。
【讨论】:
我最终做的是生成一个中间页面,例如:
Desktop.getDesktop().browse(
new URI("http://localhost/intermediate.html?mytoken=bar")
);
然后有一点 JavaScript 来获取请求参数,将其设置为 cookie,然后转发到目标页面。
var query = location.search;
var tokenRe = /mytoken=([^?]*)/;
var token = query.match(tokenRe)[1];
document.cookie = 'MYTOKEN=' + token
location.replace('http://localhost/destination')
简单!
【讨论】: