我想使用browse()
类中的java.awt.Desktop
方法打开网页,但是我需要为Cookie等特定值设置一些http标头。
我怎么能这样做?如果Desktop.browse()不合适,是否有其他解决方案允许我打开上述状态的浏览器窗口?
答案 0 :(得分:1)
color
只是使用您提供的网址来推广您的默认浏览器。您无法影响浏览器发送的请求URI的内容,因为它取决于浏览器。如果您知道将打开哪个浏览器,您可能会在启动它之前在磁盘上操作其会话存储,但我不建议这样做。如果这是关于会话cookie的全部内容,您可能会将会话cookie作为URL参数,但这取决于您要查询的Web服务器,您必须尝试这是否有效。
除此之外,您可以自己在Java代码中下载URL,设置您喜欢的任何标题,将结果存储到临时文件,然后通过FileCollection allDocs = libFolder.Files.Where(file => file.Name == "test.docx");
clientContext.LoadQuery(allDocs); // IQueryable
clientContext.ExecuteQuery();
// it should query on server and return only requested items without enumerating
// whole library
// i think your code does the same, but im not sure here
// i personally prefer using syntax above
// note that im using LoadQuery, but not Load method
// you can select a single item like this without awkward allDocs[0] syntax
var singleDoc = allDocs.SingleOrDefault();
if (singleDoc != null) {
// do something
}
将该文件作为URI打开。