1

我在 Java 中遇到了一些问题。我正在尝试获取一个随机命名的输入名称及其值,以及其他一些输入。

我需要从中获取值的页面源如下所示:

<form action="/login/" id="memberloginForm" method="post">
        <input name="sid" value="8f324234fds330248j4328" type="hidden" />
        <input data-value="1360027648" type="hidden" name="token" value="b482b673cffd5123345fbb21c7fec05" />
        <input name="redirect" type="hidden" value="" />
        <input type="hidden" name="snvlusskh" value="38c546d1302f025f44f9024dc234bac0" />   

其中“sid”的值、“token”的数据值和值、最后一次输入的名称和值都是在每次访问页面时完全随机化的。我已经尝试研究 JSoup HTML Parser 库来解决这个问题,但无法弄清楚我如何能够获取每个输入的名称,然后将正确的值与之配对。

我需要做的是获取这些字段的所有名称和值,以便我可以在自己的程序中使用它们。该网站需要这些值才能登录,而我的程序需要能够登录该网站。

感谢任何可以提供帮助的人!

4

2 回答 2

0

使用HtmlUnit 库。一旦您按照提供的示例下载并解析页面,您就可以像这样提取表单输入:

HtmlForm form = (HtmlForm) HtmlPage.getElementById("memberloginForm");
String sidValue = form.getInputByName("sid").getValueAttribute();
于 2013-02-05T05:45:14.087 回答
0

可以通过 xpath 获得的 sid 和令牌:

//input[@name="sid"]/@value
//input[@name="token"]/@value

你可以得到的最后一个:

//input[last()]/@value

和 data-value 显然只是一个时间戳

于 2013-02-05T07:52:31.300 回答