为什么discord在任何请求中都返回403?

pjngdqdw  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(403)

我试图从java向discord api发送https请求,但discord用403响应。
我的代码是:

String query = "client_id=id" +
                    "&client_secret=secret" +
                    "&grant_type=authorization_code" +
                    "&code=" + code +
                    "&redirect_uri=" + URLEncoder.encode("https://discordapi.tridentgames.eu/oauth2", StandardCharsets.UTF_8.toString());

            HttpsURLConnection connection = (HttpsURLConnection) new URL("https://discord.com/api/oauth2/token").openConnection();
            connection.setRequestMethod("POST");

            connection.setRequestProperty("Content-length", String.valueOf(query.length()));
            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            connection.setDoOutput(true);
            connection.setDoInput(true);

            DataOutputStream output = new DataOutputStream(connection.getOutputStream());

            output.writeBytes(query);
            output.close();

            DataInputStream input = new DataInputStream(connection.getInputStream());
            for (int c = input.read(); c != -1; c = input.read())
                System.out.print((char) c);
            input.close();

它在翼手龙的码头集装箱中运行。我尝试执行来自postman的相同请求,这是正常的,即使我尝试从postman重新创建403错误时失败了。我还试图更改url,但结果是相同的,即使只有 https://discord.com . 我还尝试从docker容器中 curl discord api,结果没有问题。此外,该代码基于我以前的node.js代码,它工作起来没有任何问题。
有人知道我的要求有什么问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题