0

Apache HttpClient を使用して Web ページにログインする方法を見つけようとしています。ページは ssl TLSv1 ハンドシェイク プロトコルを使用しています。また、アクセス資格情報用のユーザー名とパスワードがあります。私はオンラインでたくさんのものを読んでいますが、何かが欠けています。経験のある人が、クライアントを構成するために必要なことを正確に分析できる可能性があります。SSL ソケットをセットアップする必要があることを読み、正しく構成できるようになりましたが、SSLv2 ハンドシェイク プロトコルを取得していました。

また、このハンドシェイクが失敗しているかどうかもわかりません。呼び出し間のセッション情報を適切に保持していない可能性があります。そのため、それに関するヘルプもいただければ幸いです。

    <form name="loginuserform" method="post" action="https://www.site.com/login" id="login_form">
    <div id="loginFields">
        <div class="left_input" id="email_input">
            <input id="emailInput" type="text" name="email" tabindex="1" value="">
        </div>
        <div class="left_input" id="password_input">
            <span class="labelStyle">Password</span>
            <input type="password" name="password" tabindex="2">
        </div>
        <div class="left_input">
            <input type="submit" class="primaryActionButton" value="Sign In" tabindex="3">
        </div>
    </div>

</form>

このフォームへの対応方法について詳しく説明していただけますか。

4

1 に答える 1

1

HttpClient サイトにあります。とてもシンプルです。SSL ソケット ファクトリを提供し、SSL ファクトリに必要な構成を設定する必要があります (キーストア パスやアクセス pwd など)。ソケットファクトリを使用する場合は、以下を確認してください。

Protocol myhttps = new Protocol("https", new MySSLSocketFactory(), 443);
HttpClient httpclient = new HttpClient();
httpclient.getHostConfiguration().setHost("www.whatever.com", 443, myhttps);
GetMethod httpget = new GetMethod("/");
try {
  httpclient.executeMethod(httpget);
  System.out.println(httpget.getStatusLine());
} finally {
  httpget.releaseConnection();
}
于 2012-11-20T05:44:14.880 に答える