[400错误白色Java帖子,在正文中使用application / x-www-form-urlencoded

问题描述 投票:1回答:1
        BufferedReader in = null;
        String response = "";
        String urlParameters = "";
try {
        URL obj = new URL("url");
         urlParameters = "grant_type=client_credentials";
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("content-type", "application/x-www-form-urlencoded");
        con.setRequestProperty("authorization", "Basic value");

        con.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
        wr.write(urlParameters);

        // For POST only - START
        OutputStream os = con.getOutputStream();
        os.flush();
        os.close();
        // For POST only - END

        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'GET' request to URL : " + os);
        System.out.println("Response Code================================================================================================================ : " + responseCode);

     in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    String inputLine;



    while ((inputLine = in.readLine()) != null) {
        response = inputLine;
    }
    }
 finally {
        if (in != null) {
            in.close();

        }
    }   }

我正在使用此API来获取TOKEN。但是在所有情况下都可以获取400。

根据文档API request details

请帮助解决问题。

我认为添加主体部分是一个问题,因此我将主体部分附加到URL中,但是也失败了。

对于此代码,我收到了错误:sun.net.www.protocol.https.DelegateHttpsURLConnection

java post httpurlconnection http-status-code-400
1个回答
-1
投票

我更喜欢使用Apache HTTP Client库而不是HttpURLConnection。有关HTTP客户端的示例,请参见https://www.baeldung.com/httpclient-4-basic-authentication

© www.soinside.com 2019 - 2024. All rights reserved.