2

loginを使用して Web サイトにアクセスしたいのですが、リクエストを使用JSOUPしてlogin完了します。post

のためloginに、私はコードを書きました:

Document doc = Jsoup.connect("http://www.mysite.com/home")
  .data("username", "myusername")
  .data("pass", "mypassword")
  .userAgent("Mozilla")
  .post();

以下のコードで HTML を印刷して確認した Web サイトのホームページにリダイレクトできます。

System.out.println(doc.html());

現在、ウェブサイトは強化されたセキュリティ機能を備えており、ユーザーloginがホームページにリダイレクトする代わりに、セキュリティの質問の答えを求めるページにリダイレクトしています。

に回答をtextbox入力してボタンをクリックするとsubmit、ユーザーはホームページにリダイレクトされます。

で同じことをしようとするとJSOUP、上記と同じコードによってセキュリティの質問ページにリダイレクトされます。

セキュリティ質問の回答を入力してホームページにリダイレクトするにはどうすればよいですか?

どうすればこれを達成できますか?前もって感謝します。

4

2 に答える 2

0

他の人が提案したように Firebug をダウンロードし、NET パネルを開きます (そして有効にします)。アクセスしている Web サイトでセキュリティ質問フォームを送信しPOST、Firebug でリクエストを監視します。上記で行ったように、このリクエストを複製することができ、Jsoup は結果のレスポンスを返すはずです。

Jsoup の .post() メソッドを使用したことはありませんが、この方法で接続すると常に成功しています。

Document resultPage;

try {
    resultPage = Jsoup.connect("http://urlHere/")
    .userAgent("Whatever")
    .method(Method.POST)
    .execute()
    .parse();
} catch (IOException e) {
    //Whatever
}

それが役に立てば幸い!

于 2012-04-20T14:49:58.123 に答える
0

非表示の iframe を使用してセキュリティの質問ページを読み込み、そのページで js を使用して回答を入力できます。ログインを試みる前に、最初にユーザーからもセキュリティの回答を取得する必要があるため、少し複雑になります。可能ですが、設計が悪いと思います。

于 2012-04-23T02:16:16.893 に答える