0

オンラインで提供されているこの例を試してみました: http://www.mkyong.com/java/how-to-automate-login-a-website-java-example/ プログラムで gmail に正常にログインしました。このチュートリアルの方法は、サインイン ページの get リクエストを送信し、ログイン情報を送信するために post リクエストを送信し、さらに別の get リクエストを送信して gmail ページを表示するというものでした。セッションはずっと維持されます。

ただし、プログラムで amazon にログインしようとすると (取得、投稿、およびプロファイル固有のページへの再取得を介して)、セッションが維持されません。投稿リクエストを送信した後、プロフィールのショッピング カートを取得することを期待して、ショッピング カート ページに取得リクエストを送信します。代わりにサインイン ページにリダイレクトされます。

セッションを維持するために、Cookie を次の get 要求に送信する必要があることをオンラインで読みました。Amazonを除いて、チュートリアルで指示されたものとほとんど同じことをしましたが、うまくいきません。

セッションが Amazon では維持されていないが、gmail では維持されている理由を誰か説明できますか?

前もって感謝します!

4

1 に答える 1

0

詳細についての詳細や、使用されているコードを確認せずに、この質問に答えることは困難です。とはいえ、あなたが説明した問題は、Web アプリケーションの状態を維持するために一般的に使用されるものであるため、Cookie の問題のように聞こえます。

私が見る限り、4 つの可能性があります。

  1. Amazon とのセッションを維持するために必要な Cookie を正しく取得および設定していません。
  2. ログインが失敗しているため、Cookie が送信または設定されていないため、ログイン ページが再度返されます。
  3. 失敗した get でアクセスしようとしている URL には、前のページから正しく解析していない CSRF トークンが含まれています。
  4. セッション管理に関するその他の技術的な問題は解決されていません (おそらくクロスドメイン関連の問題か、Amazon が自動アクセスを防止するための保護を実装している可能性があります)。
于 2014-07-21T23:02:25.613 に答える