0

我有这个代码:

String buildUrl = DEFAULT_HOST + "/job/" + jobName + "/" + buildNumber + API_PATH;
URLConnection connection = new URL(buildUrl).openConnection();
InputStream is = connection.getInputStream();

如果这buildUrl导致 404 响应,则最后一行会抛出FileNotFoundException. 但是,我想知道服务器返回了 404,因为我不相信这FileNotFoundException 总是意味着404,并且我想在 404 发生时做一些特别的事情。

使用 404 时如何知道何时发生URLConnection

4

2 回答 2

2

首先,转换为HttpURLConnection然后调用connection.connect()而不是getInputStream. 完成后,调用getResponceCode(). 如果一切都很好,那么你可以得到输入流

于 2013-06-21T17:49:12.967 回答
0

如果您对 3rd 方库没问题,请查看 apache commons http 客户端组件项目。这个库比 jdk 中的原生 url 连接 api 有更多用户友好的 http api。

于 2013-06-21T18:16:28.473 回答