0

我已经使用 URLconnection.connect 和 BufferedInputStream(connection.getInputStream()) 来下载页面,但不幸的是,它似乎无法下载任何 404 页面或任何其他错误消息页面,而是引发异常。有没有办法改变这种行为并获得在浏览器中显示的错误消息?

4

2 回答 2

3

实际上,您可以只使用 HttpURLConnection 对象的 getErrorStream() 方法。

这将返回输入流。

一些网站,如 msnbc.msn.com,发出 404 错误,但随后通过错误流提供工作页面.....不知道他们为什么这样做。

于 2012-01-26T06:33:24.407 回答
0

你说的对。当返回除 2xx 系列以外的任何 http 状态时,HttpURLConnection 的实现会抛出异常。

当返回错误状态时,您应该使用Jakarta HTTP 客户端能够访问输入流(并因此下载任何内容)。

于 2011-12-18T08:20:23.460 回答