0

我想弄清楚如何使用 apache HttpClient 登录网页。该页面使用 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 工厂所需的配置,例如 - 密钥库路径和访问密码等。要使用套接字工厂,请检查以下内容。

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 回答