繁体   English   中英

URLConnection抛出FileNotFoundException。 我怎么发现这是由404引起的?

[英]URLConnection throws a FileNotFoundException. How do I discover this was caused by a 404?

我有这个代码:

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,我想在404s发生时做一些特别的事情。

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

首先, HttpURLConnectionHttpURLConnection然后调用connection.connect()而不是getInputStream 完成后,调用getResponceCode() 如果一切顺利,那么您可以获得输入流

如果您对第三方库感到满意,那么请查看apache commons http客户端组件项目。 这个库比jdk中的本机u​​rl连接api具有更多用户友好的http api。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM