如何使用Java登录HTTPS网站?

如何使用Java登录HTTPS网站?,java,html,https,Java,Html,Https,我希望能够使用java代码使用我的用户名/密码登录HTTPS网站(如gmail)。 我尝试使用我自己的代码和HTTPClient包(都允许我登录普通网站(如facebook)),但没有登录HTTPS网站。 有人能告诉我使用java登录https网站需要什么吗? 谢谢 示例代码: import org.apache.http.*; import org.apache.http.auth.*; import org.apache.http.client.methods.*; import or

我希望能够使用java代码使用我的用户名/密码登录HTTPS网站(如gmail)。 我尝试使用我自己的代码和HTTPClient包(都允许我登录普通网站(如facebook)),但没有登录HTTPS网站。 有人能告诉我使用java登录https网站需要什么吗? 谢谢

示例代码:

import org.apache.http.*;

import org.apache.http.auth.*;

import org.apache.http.client.methods.*;

import org.apache.http.impl.client.*;

import org.apache.http.util.*;



public class ClientAuthentication {

public static void main(String[] args) throws Exception {

    DefaultHttpClient httpclient = new DefaultHttpClient();

    try {

        httpclient.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials("email@gmail.com", "password"));
        HttpGet httpget = new HttpGet("https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=llya694le36z&ss=1&scc=1&ltmpl=default&ltmplcache=2&hl=en&from=logout");

        HttpResponse response = httpclient.execute(httpget);
        HttpEntity entity = response.getEntity();

        System.out.println("----------------------------------------");
        System.out.println(response.getStatusLine());

        if (entity != null) {

            System.out.println("Response content length: " + entity.getContentLength());

            entity.writeTo(System.out);
        }

        EntityUtils.consume(entity);

    } finally {

        httpclient.getConnectionManager().shutdown();
    }
}
}

要登录https网站,您需要检查您的系统时间,因为证书在两个固定日期之间有效

您指的是身份验证或连接到https服务器(没有客户端身份验证)? 许多网站(如谷歌、facebook)使用OAuth或OpenID-read。
如果是其他内容(比如你使用的是简单的POST)。有什么问题?您是否获得stacktrace?

凭据用于基本的集成浏览器身份验证(大多数浏览器中出现的本机弹出窗口)。大多数HTTPS站点使用基于表单的身份验证,这意味着您需要发布数据,然后使用cookie。假设您运行的是适度最新的Java版本,HTTPClient可以与SSL配合使用。