当前位置: 首页 > 面试题库 >

读取Java中的错误响应正文

师建德
2023-03-14
问题内容

在Java中,当HTTP结果为404范围时,此代码将引发异常:

URL url = new URL("http://stackoverflow.com/asdf404notfound");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.getInputStream(); // throws!

就我而言,我碰巧知道内容是404,但无论如何我还是想阅读响应的内容。

(在我的实际情况下,响应代码为403,但是响应的主体说明了拒绝的原因,我希望向用户显示该原因。)

如何访问响应正文?


问题答案:

这是错误报告(关闭,无法修复,不是错误)。

他们的建议是这样编码:

HttpURLConnection httpConn = (HttpURLConnection)_urlConnection;
InputStream _is;
if (httpConn.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
    _is = httpConn.getInputStream();
} else {
     /* error from server */
    _is = httpConn.getErrorStream();
}


 类似资料:
  • 问题内容: 我已经在go中编写了http客户端包装,我需要对其进行彻底的测试。我正在使用包装器中的ioutil.ReadAll阅读响应正文。我在弄清楚如何才能借助httptest强制从响应正文读取失败时遇到了一些麻烦。 我假设我可以像这样设置一个假服务器: 我假设我需要修改ResposeWriter。现在,有什么办法让我修改responseWriter,从而迫使包装器中的ioutil.ReadAl

  • 我试图在onFailure(ReformationError error)中获取错误响应正文,但获取的是null。 我正在使用标题“Accept:text/plain”(接受:text/plain)(接收请求)和“response”(响应),如果我设置日志级别,则可以将正文视为文本。完整。此外,<代码>错误。getResponse()。getStatus()为我提供正确的状态代码。 但是当我执行或

  • 问题内容: 当我从带有403响应的URL获取数据时 它抛出IOException,我无法获取响应数据。 但是当我使用firefox并直接访问该URL时,ResponseCode仍然是403,但是我可以获取html内容 问题答案: 根据javadocs,该方法将返回,可用于从错误条件(例如404)中检索数据。

  • 问题内容: jQuery的AJAX错误函数具有以下参数: 跨浏览器获取响应主体的最佳方法是什么? 这行得通吗(可靠地在所有浏览器中)? 问题答案: 有一个隐藏的函数可以从XHR等距提取数据: 如果您将其作为第二个参数传递,它将把响应视为JSON字符串。 请注意,由于没有响应(例如网络问题),您可能会收到错误消息。确保您也涵盖了这种情况。另外,我相信(不确定)如果服务器返回或状态,则jQuery会调

  • 我的后端是spring,前端是Angular。我无法访问授权标头。在postman中,如果我ping localhost:8080/login具有正确的数据,我就会获得成功授权,但是在我的应用程序中,当我尝试用httpclient localhost:8080/login发布具有正确的数据时,我会获得成功响应,但是头中没有标记,头是空的。

  • null 但是,当与HTTP1建立连接时,最后调用。 http1ExchangeCodeC.FixedLengthSource::Close 然后,方法读取所有响应体源,如下所示。