java - 服务器返回 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
邮递员这个url
return 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());
}
}
}
解决方案
可能您的 HTTP 请求中缺少某些标头,请确认您正在传递端点所需的所有标头。
推荐阅读
- python - 可视化:分组和堆积条形图
- java - 如何在 Jetty 9.2.x 中删除“Powered By”
- css - 如何使 CSS 布局具有受孩子最大高度限制的流动行高?
- spring - 为 Spring Boot 2 客户端和服务器存根使用 Open API 3 Codegen
- symfony - empty_data ChoiceType 返回 null
- c - 使用指针操作打印输入的字符串
- c# - 如何在 Dotnetzip 中删除 zip 文件
- flutter - 颤振:等待导航过渡结束
- java - 在 Spring Data JPA 的休眠中使用 xml 配置而不是 @Type 注释
- csv - 使用 filebeat 传输 csv 文件