我正在编写一个具有登录屏幕的 Java 应用程序。理想情况下,我想获取用户提供的数据(姓名、密码),并将其提交到可以验证其凭据的 ASP 表单。我没有自己的 ASP 表单,我只能访问 URL。我也不希望用户直接在 Web 表单中输入他们的凭据。他们会将他们的凭据输入我的程序,我的程序会将数据放入表单并提交,并根据响应允许/拒绝用户。
当然,ASP 表单上的提交按钮是一个 POST 请求。但是,构建 URL (...login?username=name&password=pass) 不起作用,因为必须通过填写了文本框的按钮提交表单。
我尝试了两种方法:
使用 Java 的 URLConnection 类。这似乎不起作用,因为表单提交仅限于我上面提到的方法,即构造 URL。
使用 Javascript 访问和编辑页面上的元素。这也不起作用,因为 Javascript 是从我的程序运行的,该程序不是 Web 浏览器,因此无法访问常用的“文档”或“窗口”。
我能想到的其他潜在解决方案:
打开浏览器到登录页面,但不给它焦点,运行脚本来填写和提交表单,解析响应,然后关闭浏览器。除了在我的 Java 程序中输入登录页面外,这根本不会涉及用户。
使用第 3 方 Java 库(建议?参考教程?)。
将 URL 嵌入我的登录屏幕(在这方面的任何帮助将不胜感激)。
无法更改的事情是我的程序是用 Java 编写的,并且登录 URL 是一个 ASP 表单,它隐藏了 URL 中的 POST 数据。
让我知道是否有任何需要澄清的地方。欢迎任何帮助。