java - 如何使用 HttpClient 在需要 JavaScript 的页面上进行身份验证?

标签 java authentication apache-commons-httpclient

我正在尝试以编程方式验证 URL 并使用 Apache Commons httpclient 获取响应。 响应代码是 200,但是我收到的响应页面上有一个标志。我想深入了解登录页面并获得响应。

当我尝试使用以下代码打印时,我注意到 cookie 是空白的: Cookie[] cookies = httpclient.getState().getCookies();

响应包含以下消息: “您的浏览器没有启用 JavaScript。需要此功能来支持 XXXX 的 Windows 单点登录 (WSSO)。请联系您的 PC 支持人员或调用“

请帮忙。

最佳答案

确保您设置以下 cookie 策略:

httpClient.getParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY);

来自链接http://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html 浏览器兼容性:此实现力求紧密模仿常见 Web 浏览器应用程序(例如 Microsoft Internet Explorer 和 Mozilla FireFox)的(错误)行为。

关于java - 如何使用 HttpClient 在需要 JavaScript 的页面上进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553831/

相关文章:

java - BasicFileAttributes混淆: what's the real creation time?

java - 如何快速验证大型应用的多个实现?

php - Codeigniter ion auth 忘记密码不发送电子邮件

java - 已弃用的 Java HttpClient - 有多难?

用于转义引号内字符的 Java 正则表达式

node.js - 在 redux 中处理权限

java - EJB 身份验证和授权

javascript - 每次 HttpClient 调用时,Angular 6 都将 withCredentials 设置为 true

java - 从自定义 Spring 的 CommonsHttpInvokerRequestExecutor 切换到 HttpComponentsHttpInvokerRequestExecutor

java - 允许其他人为我的应用程序开发插件