我可以使用java.awt.Desktop从我的Java胖客户端生成浏览器。
显然,我也可以使用System.Diagnostics.Process.Start
从我的.NET客户端生成浏览器我的问题是,在生成浏览器进程时,Java / .NET中是否有一种方法可以设置cookie?它看起来不像 - 可能是出于安全考虑?
答案 0 :(得分:1)
没有。您可以在目标浏览器中添加某种插件,但这将使用不同的机制。
java.awt.Desktop
做什么,它只是启动浏览器。没有更多的互动。
答案 1 :(得分:1)
我最终做的是产生一个中间页面,如:
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')
Simples!