httpClient を使用してログインします。オンラインで多数のコードが見つかりますが、それらは本物です。信頼性は高くありません。 Kaixin.com にログインした人を見つけましたが、間違った Cookie を使用したことは明らかでした。インターネット上にコードを投稿することは非常に重要ですが、同じコードがあちこちにあり、それがオリジナルかどうかはわかりません。それが良くて役に立つなら忘れてください、そうでないなら、批判を集めることに何の意味があるのでしょうか?
仕事の都合上、他のシステムからデータをキャプチャする必要があったため、IBM コミュニティの記事を読んだ結果、比較的簡単に不正行為ができる httpClient+htmlParser を選択しました。
基本的な説明は省略します。新しいクライアントとメソッドを作成し、ユーザー名とパスワードを追加してログインしました。これは正しくありません。さまざまなリクエストヘッダーとパラメータを追加し、見つけられるすべてのことを試しましたが、結果は同じままです。間違ったパスワードでも 200 が返されます。これは、JSP を見つけたときに、それが 200 であると思い込み、まったくログインしなかったためです。また、200 ではなく 302 にする必要があり、ログイン後に必ず転送されます。なぜ200なのか理解できません。 csdn で検索して検索し、ついに投稿 ( http://topic.csdn.net/u/20090105/17/dd8c1875-934e-4049-b5fe-706d78f6cb75.html ) を見つけて、夢から目が覚めました。 j2ee システムは、最終的にアクションによってリクエストを実行します。実行のためにリクエストを login.jsp に送信するのは無駄です。ログイン アクションはすべて、ログインにアクセスしてから jsp を返す必要があります。 PHP とは異なり、すべてページであり、J2EE のような「バックエンド」の概念はありません。
URL を action に変更すると、問題は解消されます。また、302 になり、転送されることがわかります。
PS: Kaixin.com にログインするために自分で書いて 408 を与えましたが、おそらく勉強する時間がありません。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/sysmaid/archive/2009/12/30/5105039.aspx