Read error response body in Java

后端 未结 8 1442
暗喜
暗喜 2020-11-28 05:32

In Java, this code throws an exception when the HTTP result is 404 range:

URL url = new URL(\"http://stackoverflow.com/asdf404notfound\");
HttpURLConnection          


        
8条回答
  •  北荒
    北荒 (楼主)
    2020-11-28 06:11

    My running code.

      HttpURLConnection httpConn = (HttpURLConnection) urlConn;    
     if (httpConn.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
                            in = new InputStreamReader(urlConn.getInputStream());
                            BufferedReader bufferedReader = new BufferedReader(in);
                            if (bufferedReader != null) {
                                int cp;
                                while ((cp = bufferedReader.read()) != -1) {
                                    sb.append((char) cp);
                                }
                                bufferedReader.close();
                            }
                                in.close();
    
                        } else {
                            /* error from server */
                            in = new InputStreamReader(httpConn.getErrorStream());
                        BufferedReader bufferedReader = new BufferedReader(in);
                        if (bufferedReader != null) {
                            int cp;
                            while ((cp = bufferedReader.read()) != -1) {
                                sb.append((char) cp);
                            }
                            bufferedReader.close();
                        }    
                        in.close();
                        }
                        System.out.println("sb="+sb);
    

提交回复
热议问题