java - java中通过设置cookie进行身份验证在浏览器中打开网页

标签 java

我只使用核心java。我需要在浏览器示例中打开网页:( http://www.abcxxx.com/xyz/abc ) 通过设置 cookie 来验证用户身份。

我的目标是在浏览器中打开给定的网页而不提供凭据。 (它应该通过传递 cookie 进行身份验证)。

我尝试使用 desktop.browse(new URI(url)); 在浏览器中打开网页,但在这里我无法设置 cookie 来验证用户身份。

我只使用核心java。

你能帮忙吗?提前致谢!

最佳答案

遗憾的是,当您在外部 Web 浏览器中打开 URL 时,无法设置 Cookie,因为 Web 浏览器仅从您的程序获取 URL。 对于 Java 来说,打开 Web 浏览器并打开特定的 URL 已经足够复杂了,因为它必须在多个平台上运行并使用数百种不同的 Web 浏览器。 对于特定平台上的某些特定网络浏览器,可能有一种方法可以设置 cookie,但通常您只有 URL。

因此,常见的做法是将认证信息嵌入到URL中,并在服务器端使用该数据进行认证,或者在服务器端将URL参数转换为认证cookie。 这可以通过服务器端的一个小脚本来完成,该脚本读取 URL 数据,在响应中设置 cookie 并重定向到真正的目标页面。

或者,您可以在 Java 应用程序中进行身份验证,直到获得某种 session ID。并使用 session-id 作为 URL 参数。

关于java - java中通过设置cookie进行身份验证在浏览器中打开网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58328268/

相关文章:

java - 通过 Java 发送邮件时出现异常

java - 理解 HashMap 中 equals 和 hashCode 的工作原理

java - OOP 中的方法是什么?

java - System object 可能抛出空指针异常的场景有哪些?

java - 通过反射(reflection)思考工厂设计模式

java - 减少列表<CompletableFuture<T>>

java - 什么是 addNotify();?

java - 类列表文件的用途是什么

java - 无法从 ZIP 文件输入流读取文件

java - 在 Weblogic 9.2 或 10.1 上部署 Jersey 1.3 Web 服务