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 パーサー ライブラリを調べてみましたが、各入力の名前を取得して正しい値とペアにする方法がわかりません。

私がしなければならないことは、これらのフィールドのすべての名前と値を取得して、自分のプログラムで使用できるようにすることです。Web サイトにログインするにはこれらの値が必要であり、私のプログラムは Web サイトにログインできる必要があります。

助けてくれる人に感謝します!

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 に答える