向Google发送身份验证请求

时间:2017-06-19 09:36:07

标签: java https google-oauth

我想向Google发送身份验证请求。 但我得到错误:线程“main”中的异常java.io.IOException:服务器返回HTTP响应代码:400为URL。

有人可以帮助我并说出错误所在吗?

我的代码如下:

public class Main
{
    public static void main( String... args ) throws Exception
    {     
       String httpsURL  ="\n" +
                " client_id=xxx.apps.googleusercontent.com&\n" +
                " response_type=code&\n" + // "code" is an Basic Value
                " scope=openid%20email&\n" +
                " redirect_uri=http://localhost&\n" +
                " state=security_token%3D138r5719ru3e1%26url%3Dhttps://oauth2-login-demo.example.com/myHome&\n" +
                " login_hint=peterpan@googlemail.com\n";
        String inputLine;

        String httpsencode ="https://accounts.google.com/o/oauth2/v2/auth?" + URLEncoder.encode(httpsURL, "UTF-8");

        URL u = new URL(httpsencode);        
        HttpsURLConnection con = (HttpsURLConnection)u.openConnection();
        InputStream ins = con.getInputStream();
        InputStreamReader isr = new InputStreamReader(ins);
        BufferedReader in = new BufferedReader(isr);

        while ((inputLine = in.readLine()) != null)
        {
            System.out.println(inputLine);
        }
        in.close();            
    }
}

1 个答案:

答案 0 :(得分:1)

尝试删除httpsURL中的所有“\ n”。 您不需要2 GET参数之间的新行char。

编辑:http错误代码400在此解释:http://www.checkupdown.com/status/E400.html