首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Java中读取错误响应主体

在Java中,读取错误响应主体可以通过以下方法实现:

  1. 使用HttpURLConnection类发送HTTP请求,并在请求失败时读取错误响应主体。
代码语言:java
复制
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ErrorResponseReader {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://example.com");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.connect();

            int responseCode = connection.getResponseCode();
            if (responseCode >= 400) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
                System.out.println("Error response: " + response.toString());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 使用java.net.HttpURLConnection类的getErrorStream()方法获取错误响应主体,并使用java.io.BufferedReader类读取错误响应主体。
代码语言:java
复制
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ErrorResponseReader {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://example.com");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.connect();

            int responseCode = connection.getResponseCode();
            if (responseCode >= 400) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
                System.out.println("Error response: " + response.toString());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这两个示例中,我们使用HttpURLConnection类发送HTTP请求,并在请求失败时读取错误响应主体。我们使用getErrorStream()方法获取错误响应主体,并使用BufferedReader类读取错误响应主体。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

rem响应式布局的应用

rem响应式布局的应用 最近做了一些响应式的页面,遇到了一些问题,想了些解决方法,在这里总结一下。目前响应式的主流实现方式是百分比布局,加上媒体查询@media screen。...关于媒体查询还有媒体查询的一些兼容性问题,网上介绍的很多 其实响应式布局主要困扰我们的问题还是元素的等比缩放。目前的元素的等比缩放主要有以下两种解决方案。 实现等比缩放的一些方案 1....这也是我们响应式界面遇到的最主要的场景。基本上如果是图片都会下意识的用img来引入,即使是背景图片也常用这种方式来撑开父元素然后用img做背景。...remh5开发中用的比较多,为了适配不同的手机尺寸。...使用rem的优点 刚开始是为了解决元素等比缩放的问题,才用上rem的,但是试用过程中发现rem的响应式布局方案拥有以下一些优点。 1.

1.6K40

C# 程序 Docker 响应 Unix 信号

C# 程序 Docker 响应 Unix 信号 Docker Entry Script 详解中介绍了如何在 shell 脚本响应 Unix 信号量来实现 Docker 应用优雅的关闭退出, 本文介绍...C# 程序如何在 Docker 响应 Unix 信号实现优雅的关闭退出。...因为用 Mono 编译出来的程序可以完美的 Linux/Docker 下运行, 所本文以 Mono 5.4 做为开发环境, 对应的 .Net Framework 版本为 4.6.1 。... Linux 下面, Mono 提供了 Mono.Unix.UnixSignal 来解决这问题, 我们的程序需要监听两个 Unix 信号, 分别是: Mono.Unix.Native.Signum.SIGINT...通常应用程序都会有自己的状态, 程序结束时, 保存应用程序的状态是非常重要的, 因此应许能够感知结束, 并保存状态是非常重要的。

1.5K10

GDB读取动态库定义的全局变量错误

但却出现了GDB打印全局变量optind的时候出现错误。 问题发现和描述 首先optind是使用getopt时候的全局变量,表示使用getopt时候的下一个argv的指针索引。...于是我程序打印出optind的地址为0x600D60. +++++++++++++++++++++ The optind address is 0x600d60....也就是动态库存在全局变量的时候,在编译阶段已经程序的.BSS段预留了控件给动态库的全局变量,然后当程序初始化的时候,会拷贝动态库的全局变量到程序预留的.BSS段控件;其他所有的动态库,也将访问通过前面所说的....BSS段的全局变量来访问原先动态库定义的全局变量。...首先我们通过"Info var optind"查看下optind相关的信息,可以看到两处指名了optind的出处,第一处其实说明了这个是libc.so定义的,而gdb默认打印的也是libc.so定义的

2.1K30

Kubernetes 读取 Vault 的机密信息

Kubernetes ,我们通常会使用 Secret 对象来保存密码、证书等机密内容,然而 kubeadm 缺省部署的情况下,Secret 内容是用明文方式存储 ETCD 数据库的。...,Hashicorp Vault 提供了一个变通的方式,用 Sidecar 把 Vault 的内容加载成为业务容器的文件。...上面的命令,指定了登录 Token 为 root,监听地址为 [主机地址]:8200,返回信息也有提示,开发服务的内容是保存在内存的,无法适应生产环境的应用。...Kubernetes 引入 Vault 服务 Kubernetes 可以为 Vault 创建 Endpoint 和 Service,用于为集群内提供服务: apiVersion: v1 kind...上面的注解表明,使用 devweb-app 角色,读取 secret/data/devwebapp/config 的数据,保存到 /vault/secrets 目录的 credentials.txt

1.7K20

Java的FileReader:读取文件更简单」

小伙伴们批阅的过程,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!前言Java编程,经常需要读取文件的内容,这时我们需要使用FileReader类。...FileReader是Java IO库的一个用于读取字符流的类,它继承自InputStreamReader。...正文创建FileReader对象使用FileReader类读取文件之前,我们需要先创建FileReader对象。...这些方法可以一次性读取多个字符。关闭流在使用完FileReader流之后,我们需要关闭流以释放系统资源。关闭流的方法如下:reader.close();关闭流之后,将无法再从流读取数据。...的FileReader类,包括如何创建FileReader对象、如何读取文件以及如何关闭流等内容。

58441

Node.js逐行读取文件【纯技术】

介绍 计算机科学,文件是一种资源,用于计算机的存储设备离散地记录数据。Node.js不会以任何方式覆盖它,并且可以与文件系统中被视为文件的任何文件一起使用。...Readline(从v0.12开始) Node.js具有本机模块来读取文件,从而使我们可以逐行读取文件。它是2015年添加的,旨在Readable一次从任何流读取一行。...); 在这里,我们实质上是说,只要line事件发生在,readInterface就应该调用我们的函数并将从流读取的内容传递给它。...我们的情况下,我们不想使事情复杂化,而只是将其打印到控制台上。 在线阅读器 详细说明了如何使用本机Node.js模块逐行读取文件之后,让我们使用npm 的开源行读取器模块来查看它的较短版本。...它会重置指针并从文件的最开始开始读取过程。 注意:仅在未达到结尾时才起作用。 常见错误 Node.js逐行读取文件时,常见的错误是将整个文件读取到内存,然后通过换行符分割其内容。

7.7K20

Java 继承关系java.lang.ClassCastException 错误

通常我们 OOP 设计中都会使用到继承。 但是继承对象之间的强制转换可能会遇到 java.lang.ClassCastException 异常的错误。...同时这个错误是运行时错误,不是编译错误,因此你编译的时候是没有这个错误的。...上面的原因是父类的对象是由父类创建的,然后你尝试将父类创建的对象强制转换到子类。...因为父类创建的对象和子类需要创建的对象分别使用不同的地址空间,那转换的时候将会出现地址空间引用的错误,因此 JVM 会认为你将 2 个完全不同类型的对象进行转换,这个时候出现上面的运行时错误。...https://www.ossez.com/t/java-java-lang-classcastexception/13862

1.4K00
领券