首页 > 解决方案 > 服务器返回 HTTP 响应代码:400 用于 URL:https://idcs-82972921e42641b1bf08128c3d93a19c.identity.c9dev2.oc9qadev.com/oauth2/v1/token

问题描述

我收到错误消息:

Server returned HTTP response code: 400 for URL: https://idcs-82972921e42641b1bf08128c3d93a19c.identity.c9dev2.oc9qadev.com/oauth2/v1/token
java.io.IOException: Server returned HTTP response code: 400 for URL: https://idcs-82972921e42641b1bf08128c3d93a19c.identity.c9dev2.oc9qadev.com/oauth2/v1/token
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at com.onkar.getapi.NetClientPost.main(NetClientPost.java:39)

该行中的以下代码

InputStreamReader in=new InputStreamReader(connection.getInputStream());

当我打电话给url邮递员这个urlreturn access token。但是当我在java我的 java 代码中消费时正在抛出exception.

package com.shruti.getapi;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class NetClientPost {
    
    public static void main(String[] args)  {
        try
        {
        HttpURLConnection connection=null;
         String targetUrl="https://idcs-82972921e42641b1bf08128c3d93a19c.identity.c9dev2.oc9qadev.com/oauth2/v1/token";
         URL url=new URL(targetUrl);
         connection=(HttpURLConnection) url.openConnection();
         connection.setUseCaches (false);
          connection.setDoInput(true);
          connection.setDoOutput(true);
         connection.setRequestMethod("POST");
         connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
         connection.setRequestProperty("Authorization", "Basic aWRjcy1vZGEtOTQxN2Y5MzU2MGI5NGViOGEyZTJhNGM5YWFjOWEzZmYtdDBfQVBQSUQ6MjQ0YWU4ZTItNmY3MS00YWYyLWI1Y2MtOTExMDg5MGQxNDU2");
         connection.setRequestProperty("grant-type","client_credentials");
         connection.setRequestProperty("Accept", "application/json");
         connection.setRequestProperty("Scope", "https://idcs-oda-9417f93560b94eb8a2e2a4c9aac9a3ff-t0.data.digitalassistant.oci.oc-test.com/api/v1");
         connection.connect();
         InputStreamReader in=new InputStreamReader(connection.getInputStream());  //this line throwing exception. What i am missing?
         BufferedReader br =new BufferedReader(in);
         String output;
         while((output=br.readLine())!=null)
         {
             System.out.println(output);
         }
         connection.disconnect();
     
         System.out.println("Last line");
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }

}
    
}

标签: javarestweb-servicesposthttpurlconnection

解决方案


可能您的 HTTP 请求中缺少某些标头,请确认您正在传递端点所需的所有标头。


推荐阅读