gpt4 book ai didi

httpurlconnection - 获取错误请求的主体 httpURLConnection.getInputStream()

转载 作者:行者123 更新时间:2023-12-03 14:31:19 25 4
gpt4 key购买 nike

我一直在研究一个调用 Rest API 的 portlet。当API被调用且请求的数据不存在时,返回相应的JSON格式的错误信息(带有Bad request http code - 400),如果id存在,则返回json格式的请求数据(带有代码200 )。
由于调用 httpConn.getInputStream(),如何获取响应正文(包含错误描述)如果响应是错误的请求错误,方法将引发异常。
代码:

HttpURLConnection httpConn = null;
URL url = new URL("http://192.168.1.20/personinfo.html?id=30");
URLConnection connection = url.openConnection();
httpConn = (HttpURLConnection) connection;
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("charset", "utf-8");
BufferedReader br = null;
if (!(httpConn.getResponseCode() == 400)) {
br = new BufferedReader(new InputStreamReader((httpConn.getInputStream())));
String output;
StringBuilder builder = new StringBuilder();
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null)
builder.append(output);
return builder.toString();
}else
here should catch the error message. :)

最佳答案

如果响应代码不成功,您必须使用 HttpURLConnection.getErrorStream() 阅读正文.

关于httpurlconnection - 获取错误请求的主体 httpURLConnection.getInputStream(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com