だから、私はJSoupに問題があります。
HTMLページを解析して、次のようないくつかのフォーム入力値を取得する必要があります。
<input value="210cf5f0c2db3ac6ac5112881525cfff" data-value="1355317682" type="hidden" name="token" />
<input type="hidden" name="sid" value="18c03bc9nkedyyjmbzgvmkv5tx7yhyw1" />
<input value="" name="redirect" type="hidden" />
<input value="d3edfe5b37608758516833b858b51b63" type="hidden" name="eyhy7xt5v" />
これらの各入力の値を取得できる必要がありますが、一度に1つずつ取得できます。私の現在のJavaコードは次のようになります。
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
class JSoupTest {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://url.com/auth").get();
Elements inputs = doc.select("input");
for(Element input : inputs) {
System.out.println(input.attr("name"));
System.out.println(input.attr("value"));
}
}
}
現在、すべての入力の名前とその値をダンプしますが、特定の入力フィールドの値のみを出力するプログラムが必要です。
たとえば、「sid」という名前の入力フィールドの値を出力したいとします。その値だけを印刷する必要がありますが、他の値は必要ありません。
どういうわけか、そのような選択的な印刷を行う必要があります、あなたが言うことができると思います。特定の入力フィールドの値を出力するだけです。
誰かがこれを行う方法を知っていますか?
JSoupのドキュメントでは、このページを見ていましたが、探しているものが見つかりませんでした。
ありがとう!
編集:ページを更新するたびに、最後の値の名前がランダムに生成されることに気づきました。「隠された」特性以外に一定に保たれる値がない場合、それを取得する方法はありますか?