当我在java中使用desktop.browse方法时,有没有办法传递http头?

时间:2016-08-08 08:29:38

标签: java browser http-headers

我想使用browse()类中的java.awt.Desktop方法打开网页,但是我需要为Cookie等特定值设置一些http标头。

我怎么能这样做?如果Desktop.browse()不合适,是否有其他解决方案允许我打开上述状态的浏览器窗口?

1 个答案:

答案 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打开。