如何获取https内容的gmail whitout 403异常?

时间:2013-08-06 11:10:12

标签: java

如何获取https内容的gmail whitout 403异常?

我想获取谷歌的https网址的内容,但我无法在我的浏览器中阅读响应我有响应但在我的应用程序中我有403例外  这段代码有403异常但是如果在浏览器中打开url我可以看到我想要的响应得到这个响应并在控制台中打印

public static void main(String args[]) {

    try {
        String text = "https://www.google.com/accounts/ClientLogin?Content-type=application/x-www-form-urlencoded&accountType=GOOGLE&Email=EMAIL&Passwd=aaaaaa";
        URLConnection connection = new URL(text).openConnection();
        connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
        connection.connect();

        BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));

        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
            sb.append(line);
        }
        System.out.println(sb.toString());
    } catch (Exception e) {
        e.printStackTrace();

    }

2 个答案:

答案 0 :(得分:0)

您需要提供用户和密码。您可以直接使用浏览器访问邮件的原因是因为gmail使用cookie来允许您绕过登录屏幕。

修改

使用POP或IMAP API以编程方式访问您的邮箱会更好。 以下是another question on Stackoverflowlibrary可以帮助您。

答案 1 :(得分:0)